怎么用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通信”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关免费云主机域名注百云主机网站,小编将为大家输出更多高质量的实用文章!

相关推荐: php sql乱码如何解决

这篇文章主要介绍“php sql乱码如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php sql乱码如何解决”文章能帮助大家解决问题。 php sql乱码的解决办法:1、PHP文件保存时选ANSI编码;2、在P…

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

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 02/25 09:32
下一篇 02/25 09:32

相关推荐