位置: 编程技术 - 正文

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

  • 纳税人未抄报税是什么意思
  • 城建税及教育费附加怎么计算
  • 一般纳税人报税流程详细操作
  • 年底计提是什么意思
  • 销售成本是负债吗
  • 预收贷方余额表示什么意思
  • 预收和应收可以冲销吗
  • 所得税多交怎么调整
  • 损益类结转本年利润摘要
  • 房企预收账款什么时候结转
  • 借方应付账款 贷方银行存款
  • 离退休人员的返乡政策
  • 房地产企业融资存在的问题
  • 垫资公司怎么收费50万
  • 核定征收企业注销后安全吗
  • 购买饲料计入哪个科目?
  • 支付保安公司的钱违法吗
  • 计提社保个人部分需要计提吗
  • 企业申请增值税专用发票
  • 房地产预收房款怎么开票
  • 个税贷方余额比实际金额多
  • 预借现金和现金分期的区别
  • 非正常损失怎么处理
  • 补发上月工资如何计税
  • 关联公司代付款帐怎么做
  • 根据新企业所得税法的规定,企业购买并实际使用
  • 购进的包装物怎么入库
  • 绿萝怎么养才能爬藤
  • 大家在抢红包怎么回复
  • vue使用技巧
  • 破产企业发放工资怎么算
  • 利润分配的会计分录怎么写
  • 经济补偿金个人所得税计算公式
  • php的框架有哪些
  • 日落时有什么变化
  • 银行汇票和银行本票的区别
  • html中a标签怎么引用图片
  • php删除txt指定内容
  • go开发web项目
  • JavaScript DOM API的使用
  • 手把手带你做一件事
  • python里%s
  • 经营性现金流减利息
  • 去年多计提的工资今年怎么冲
  • 合同补充协议印花税怎么交
  • 进项税额转出更正申报
  • 预算收入支出
  • 固定资产折旧计算方法公式大全
  • 存货盘亏处理报批
  • 代开发票可能遇到的问题是?
  • 会计专业技术资格初级是什么职称
  • 业务招待费专票可以抵扣吗
  • 已经认证抵扣的发票会计分录
  • 消费税如何计量
  • 销售奖金交税由谁承担
  • 合作经营利润分配协议
  • 出租人融资租赁的判断标准
  • 锁mysql
  • mysql源码编译
  • 大数据量高并发症有哪些
  • mysql5.7.19 zip 详细安装过程和配置
  • mysql如何优化性能
  • mysql获取当前行数
  • centos安装软件教程
  • VirtualBox虚拟机中文免费
  • gnu linux编程指南
  • hyper怎么用
  • xp系统如何禁止各种窗口弹出
  • ubuntu系统如何
  • 戴尔dell optiplex 3050MT 安装固态硬盘
  • ghost7sp1安装教程
  • win系统找回删除文件
  • Linux中通过Socket文件描述符寻找连接状态介绍
  • cocos2d-x 3.2 在window平台vs2012下解决中文乱码问题
  • node.js基础入门
  • unity多人游戏
  • arcgis engine+c#实例开发教程
  • django批量创建数据
  • 租赁费的税率是多少小规模纳税人
  • 中山税务如何预约
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设