位置: 编程技术 - 正文

基于Node.js的WebSocket通信实现(基于node.js的跳蚤市场网站主要内容)

编辑:rootadmin

推荐整理分享基于Node.js的WebSocket通信实现(基于node.js的跳蚤市场网站主要内容),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:node.js web,基于node.js的图书管理,基于node.js的音乐播放器小程序,基于node.js的软件开发,基于node.js的软件开发,基于node.js的wod应用开发,基于node.js的跳蚤市场网站主要内容,基于node.js的wod应用开发,内容如对您有帮助,希望把文章链接给更多的朋友!

node的依赖包

node中实现Websocket的依赖包有很多,websocket、ws均可,本文选取ws来实现,首先安装依赖

聊天室实例

假如A,B,C,D用户均通过客户端连接到Websocket服务,其中每个人发的消息都需要将其通过Websocket转发给其他人,此场景类似于服务端将A的消息广播给组内其他用户。

服务端实现

基于Node.js的WebSocket通信实现(基于node.js的跳蚤市场网站主要内容)

首先来看服务端程序,具体的工作流程分以下几步:

创建一个WebSocketServer的服务,同时监听端口的连接请求。 每当有新的客户端连接该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的跳蚤市场网站主要内容

本文链接地址:https://www.jiuchutong.com/biancheng/377870.html 转载请保留说明!

上一篇:Node.js如何响应Ajax的POST请求并且保存为JSON文件详解(node.js alert)

下一篇:利用Node.js对文件进行重命名(nodejs如何使用)

  • 小规模纳税企业
  • 税友财务软件一年多少钱
  • 非拒付追索待清偿是什么意思
  • 建设工程劳务分包的规定
  • 什么情况需要预缴增值税
  • 上年度职工月平均工资是税前还是税后
  • 基本户被冻结怎么缴投标保证金
  • 弥补上年亏损的成语
  • 一般纳税人要做价税分离吗
  • 核定征收企业股权转让所得税
  • 复式记账的优点有哪些
  • 垃圾处理的公司有哪些
  • 支付结算办法主要内容
  • 企业间贴现手续怎么办理
  • 企业自主研发的成功案例
  • 应付未付的职工工资属于什么会计科目
  • 补税款的分录应该怎么写
  • 收到的财政补贴如何做账
  • 返利失效了怎么找回
  • 收取会员费收入会计分录
  • 这个月发票没用怎么做账
  • 营业外支出应填什么科目
  • 小企业会计准则成本核算方法选什么
  • linux怎么安装使用conda
  • 支付水费现金流量
  • 远程桌面连接的用户名和密码在哪里看
  • 域名服务费属于什么会计科目
  • 事业单位专项经费包括哪些
  • 管理费用的会计编码
  • PHP:__halt_compiler()的用法_misc函数
  • yolov5 c
  • 实际借款成本率
  • web无法运行
  • 如何配置apache
  • matlab用于图像处理
  • 基于卷积神经网络的网络入侵检测算法设计与实现
  • html写php
  • sendmailadmin
  • 税控盘增值税发票怎么开
  • 收客户样品费怎么做分录
  • mysql优化总结
  • mysql字符集详解
  • phpcms怎么样
  • 盘盈材料会计分录
  • 所得税申报表是什么
  • 工程产值是怎么算的
  • 学校接受捐赠收入要交企业所得税吗
  • 产权转让印花税减半征收
  • 赔付支出包括
  • 实际上缴税费总额怎么算
  • 闲置固定资产如何折旧
  • 企业如何建账之类的账目
  • 商业企业长期负债怎么办
  • sqlserver使用方法
  • mysql数据库备份和恢复
  • MySQL利用不同的流程语句输出1到200的和
  • 一个 sql 查询很慢,从哪些地方进行优化?
  • 数据库的常用语句
  • MySQL中使用____关键字来删除表格中的数据
  • win7历史记录在哪里
  • [视频]看科学家如何将纯净水变成金属
  • freebsd中文手册
  • linux系统怎么安装
  • win7系统怎么关闭屏幕保护
  • Linux运维工程师工作内容
  • perl中sub
  • Xcode6 和 Cocos2dx3.1以下版本的不兼容问题
  • node.js基本语法
  • 网页设计需要多少分辨率
  • android手机传感器应用程序
  • jquery怎么给文本框赋值
  • jquery操作html代码
  • 物理引擎百科
  • js插件大全
  • 12123人工咨询电话
  • 没工作个人所得税还用下载吗
  • 预征率是2%怎么计算
  • 中欧班列补贴政策
  • 上海登高证查询官网入口
  • 什么是集体约谈制
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设