位置: 编程技术 - 正文

基于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如何使用)

  • 计提递延所得税资产
  • 税务证需要多少费用
  • 企业所得税汇算清缴时间
  • 劳务报酬能不能按照计件计算
  • 乘车保险费
  • 租地建厂房合同
  • 以房屋抵顶的工程叫什么
  • 生产经营行业
  • 买一赠一视同销售征收增值税吗
  • 跨期租金收入税怎么算
  • 公司开出的经济补偿金可以税前扣除吗
  • 园林绿化苗木增值税抵扣税率是多少?
  • 个人所得税的申报税额是什么意思
  • 获客成本怎么计价
  • 所得税汇算政策
  • 代扣代缴个人所得税现金流计入哪里
  • 新25项工资薪金是什么
  • 中途建账期初余额错误怎么纠正
  • 初级如何备考
  • 成本分析总结报告
  • 旅行社开具的发票能否作废
  • 专用发票购货清单怎么写
  • 冲回坏账准备是什么意思
  • 内存条松动导致黑屏
  • win11自带一键重装系统
  • 购买展示柜怎么做会计分录
  • 暂估入库入库单范本
  • 哪些金融资产的股票会涨
  • 员工油费补贴过期怎么办
  • 赔偿金要交增值税吗
  • 哪些情形不属于伪现金
  • 其他综合收益含税吗
  • AttributeError: ‘bytes‘ object has no attribute ‘encode‘异常解决方案
  • 企业工会注销怎么办理
  • web全栈工程师是干什么的
  • vuejs echarts
  • phpcms怎么样
  • 资产减值损失为什么要调增
  • 合同发票收款付款管理系统源码
  • 小规模纳税人直接从农户购入农产品要交增值税吗
  • 一万元,两分的利息,一年利息是多少
  • 没有货怎么做电商
  • 开红字发票时,数量与金额必须是负数?
  • 跨月管理费用多计怎么处理
  • 交强险和车船税在哪里买
  • 地补缴费额是什么
  • 计提税金用什么附件
  • 实际缴纳的税金比应交的多的部分记入什么科目
  • 小规模纳税人开专票税率是1%还是3%
  • 代扣代缴增值税怎么做账
  • 买一件商品赠送两个商品
  • 库存商品差额调整会计目录
  • 收房租的收据怎么写
  • 备用金分为哪两种
  • 资产报废需要税费吗
  • 判断数据库表是否为空
  • ubuntu14.04安装vim
  • 怎样破解bios密码
  • win8系统手机
  • win10如何连接远程电脑
  • for windows vista only
  • freebsd怎么安装软件
  • vim wqa
  • centos删除vg
  • vim删除^m
  • recyclerview addview
  • android:View的setTag和getTag使用
  • Windows下自动备份MongoDB的批处理脚本
  • 创建nodejs项目的步骤
  • Unity的WWW类的用法整理
  • Python简单格式化时间的方法【strftime函数】
  • python文件的读操作方法
  • 通州区税务局办税大厅电话号码
  • 2020年职工探亲路费报销最新规定
  • 合伙企业的税收较高
  • 如何给局长送点礼品
  • 满五唯一是指省内还是本市
  • 现在哪个保险公司车险好
  • 18个税种征税范围
  • 地税局申报个人所得税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设