这篇“基于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通信”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注百云主机行业资讯频道。
相关推荐: JS的Object.defineProperty()怎么使用
本篇内容介绍了“JS的Object.defineProperty()怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!经常使用的定义与赋值方法obj.pro…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。