websocket聊天体验

light-example-4j/websocket目录有client-to-server、peer-to-peer两个示例项目,解决了个人两个问题:在线聊天、日志查看。html

在线聊天,后续能够支持:最近历史、表情+图片web

.addPrefixPath("/ws/chat", websocket(new WebSocketConnectionCallback() {
     @Override
     public void onConnect(WebSocketHttpExchange exchange, WebSocketChannel channel) {
         channel.getReceiveSetter().set(new AbstractReceiveListener() {
             @Override
             protected void onFullTextMessage(WebSocketChannel channel, BufferedTextMessage message) {
                 Set<WebSocketChannel> peerConnections = channel.getPeerConnections();
                 String msg = channel.getSourceAddress()+"/"+peerConnections.size()+": "+message.getData();
                 peerConnections.parallelStream().forEach(c -> WebSockets.sendText(msg, c, null));
                 log.info(msg);//能够看到当前有多少人
             }
         });
         channel.resumeReceives();
     }
}))
api

日志查看:使用Tailer、TailerListenerAdapter,把日志信息推送给浏览器。浏览器

image

相关文章
相关标签/搜索