位置: 编程技术 - 正文

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

  • 什么情况下要交环保税
  • 视同销售行为的涉税处理?
  • 什么是试算平衡?如何进行试算平衡
  • 成品油发票怎么查询
  • 差旅费津贴需要缴纳个人所得税吗?
  • 实收资本印花税税率多少
  • 企业所得税包含哪些税种
  • 其他应收款款项性质有哪几种
  • 眼镜所属行业怎么填写
  • 预付账款收不到发票汇算清缴调整增吗
  • 金税盘技术维护费账务处理
  • 深圳报关费用是多少
  • 什么情况下进项税额不得从销项税额中抵扣
  • 母子公司之间转让土地使用权
  • 价内税与价外税的计算公式
  • 净利润亏损怎么结转
  • 金融保险服务业
  • 预收房款不征税发票
  • 企业生产经营模式
  • 企业账面库存过大应怎样处理好
  • 出口退税系统怎么导入数据
  • 应收账款重组
  • 月末汇兑损益怎么算
  • 进货折扣适用于什么条件
  • 股东分红个税怎么做账
  • 解决http请求下无法开启麦克风问题
  • php调用sql server存储过程
  • 入固定资产含税吗
  • 应收债权换入无形资产
  • 董事会会费应计什么科目
  • 工程材料费发票没拿到是否能预提费用
  • 失控增值税专用发票
  • vue前端框架搭建
  • element ui 左侧导航
  • 长期股权投资后续计量收到红利账务处理
  • 用代码说话
  • html的表单怎么做
  • 旅游服务发票可以抵税吗
  • golang eventbus
  • mysql数据库介绍官方
  • 计算业务招待费扣除限额的基础包括营业外收入
  • 固定资产资本化后续支出
  • 长期股权投资的账务处理
  • 生产成本人工费结转
  • 没进项发票开销项发票可以吗?
  • 交易性金融资产公允价值变动计入
  • 贷款指标是什么意思
  • 企业年金管理费计入什么科目
  • mysql 随机io
  • mysql错误代码1418
  • sql空值用什么表示
  • mysql批量更新多条数据
  • 深度操作系统中的生活服务类软件有
  • xp系统没有鼠标自己乱跳
  • centos划分分区
  • win7 64位系统提示"Windows7不能识别网络打印机"的故障原因及解决方法
  • centos 操作
  • win7的系统升级win10
  • win8用户账户控制如何解除
  • unity粒子制作ui特效
  • jquery实现仿新浪微博带动画效果弹出层代码(可关闭、可拖动)
  • 使用jquery操作dom
  • node.js实战
  • 怎么用winrar打包压缩文件
  • unity精灵编辑器
  • shell 替换文件中匹配的内容
  • jquery的checked
  • 关于Air端与android端的通信实现
  • nodejs开发web
  • 如何使用定向流量
  • jquery网页跳转
  • python中对文件操作的一般步骤
  • unity ugui组件
  • js做时钟让钟表转起来
  • js 分页插件
  • jquery.css
  • android开发模式
  • 23种设计模式全解
  • 泌阳县国土资源局崔超
  • 地税可以补开以前发票吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设