websocket聊天体验
light-example-4j/websocket目录有client-to-server、peer-to-peer两个示例项目,解决了我的两个问题:在线聊天、日志查看。
在线聊天,后续可以支持:最近历史、表情+图片
.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();
}
}))
日志查看:使用Tailer、TailerListenerAdapter,把日志信息推送给浏览器。
最新文章
- 线程Thread,有参数和参数
- js-FCC算法-Pairwise
- I.MX6 KEY_ROW4 can&#39;t as GPIO pin
- js按钮点击展开收起
- Javascript:数组和字符串的相互转化
- shiro学习笔记_0100_shiro简介
- Android自学反思总结(上)
- 如何使用ArcGIS发布LiDAR 点云
- LDA数学八卦笔记(一)Gamma函数
- Linux内核中断和异常分析(下)
- Fix: Unable to terminate process &lsquo;Access is denied&rsquo; 杀进程,关服务
- vue-electron脚手架安装及说明 打包基于Vue的 桌面应用程序
- C++实现词法分析器
- 【转】位置式、增量式PID算法C语言实现
- Ubuntu18.04启用中文输入法
- [转]sqlserver2014两台不同服务器上数据库同步
- c++关键字static的作用
- 【转】C#微信公众平台开发者模式开启代码
- sip鉴权认证算法详解及python加密
- koa中间层 文件下载的请求转发
热门文章
- ubuntu下安装vue/cli提示No command &#39;vue&#39; found
- JavaScript笔记(2)
- CSS3--transform相关属性
- C# 使用Quartz.Net
- Delphi TIdTCPClient组件
- 网络初级篇之STP(BPDU详解与STP故障恢复)
- Python制作的射击游戏
- 论文笔记:Integrated Object Detection and Tracking with Tracklet-Conditioned Detection
- Selenium(5)
- SpringBoot 上传读取图片 巨坑