Node.js怎么实现WebSocket通信


这篇文章主要讲解了“Node.js怎么实现WebSocket通信”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Node.js怎么实现WebSocket通信”吧!node的依赖包node中实现Websocket的依赖包有很多,websocket、ws均可,本文选取ws来实现,首先安装依赖聊天室实例假如A,B,C,D用户均通过客户端连接到Websocket服务,其中每个人发的消息都需要将其通过Websocket转发给其他人,此场景类似于服务端将A的消息广播给组内其他用户。服务端实现首先来看服务端程序,具体的工作流程分以下几步:创建一个WebSocketServer的服务,同时监听8080端口的连接请求。每当有新的客户端连接该WebSocket成功时,便将该连接push到连接池的数组中。监听message事件,当该事件发生时,遍历连接池,以连接为单位将该消息转发到对应的客户端监听close事件,当该事件发生时,将该连接移出连接池服务端代码
客户端实现如何发现用户?通过上述的demo可以看到,WebSocket都是基于连接的,也就是说我们知道data是从那个connection发过来,但并不知道使用客户端的是李雷或者韩梅梅,这可如何是好?再想另一种场景,李雷只想给韩梅梅发消息,不想将消息广播给其他客户端,此时我们就需要在Server端能够标识用户身份和连接的对应关系。于是,需要在客户端连接到WebSocket之后,紧接着再发一次请求,告诉Server我的user_id是多少,Server将此user_id与connection之间的关系存储在hashmap中,至此就建立了user_id与connection的对应关系。当需要发送消息给对应的客户端,从此hashmap中取出对应用户的connection信息,调用其send方法发出消息即可。依赖包
服务端实现感谢各位的阅读,以上就是“Node.js怎么实现WebSocket通信”的内容了,经过本文的学习后,相信大家对Node.js怎么实现WebSocket通信这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是百云免费云主机域名主机,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: commons-io如何使用

这篇文章主要讲解了“commons-io如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“commons-io如何使用”吧!引入依赖案例1感谢各位的阅读,以上就是“commons-io如何使用”的内容了,经…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 02/24 14:38
下一篇 02/24 14:38

相关推荐