位置: 编程技术 - 正文

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

  • 补做前几年税审对报税税务评级有什么影响?
  • 金税三期反映出来的是前几年的问题
  • 注会其他专业可以考吗
  • 金融商品转让为什么不能扣除相关税费
  • 稿费计入成本怎么做账
  • 税率开错情况说明
  • 所得税减免优惠明细表应分摊期间
  • 来料加工企业的人工工资计入什么费用
  • 企业期货投资收益税务案例
  • 退休返聘人员工资
  • 本季度盈利可以当季弥补以前亏损吗
  • 税率修改后对价格的影响
  • 转让五年以上住房免征个人所得税吗?
  • 上月税没报,可以开发票吗
  • 印花税是按含税还是不含税缴
  • 企业残疾人保障金
  • 或有事项确认资金怎么填
  • 多缴纳的增值税怎么申请抵税
  • 医疗废物处置费是什么意思
  • 怎么清除更新记录
  • 在电脑桌面上添加快捷程序
  • php基础入门教程
  • 系统之家一键重装系统步骤
  • 工会举办比赛,参赛人员差旅费可以在工会报销吗
  • 销售固定资产税目
  • php中array_multisort对多维数组排序的方法
  • 座头鲸救人
  • java多线程线程数控制在多少
  • 私人定制ai绘画下载
  • show version命令详解
  • 技术服务行业增值税税税负率是多少
  • 装修费摊销的分录是什么
  • 营业执照上的注册资金可以改吗
  • 小规模纳税人定义标准
  • 新注册企业实收资本没到账怎么处理
  • python中如何合并csv
  • mysql怎么处理特殊字符数据
  • 房地产企业年报数据
  • 会计信息采集每年都要采集吗
  • 股票股利的资金来源
  • 房产税是按不含增值税计提吗
  • mdf和ndf文件
  • 报废车残值需要多少钱
  • 购入不动产的税率是多少
  • 开红字发票需要做收回原发票吗?
  • 银行贷款需要哪些材料
  • 分公司抬头发票总公司可以抵扣吗
  • 购进原材料如何结转成本
  • 预付款已经开了发票未到货要怎么做账
  • 暂估入库可以隔几个月再冲回吗
  • 以前的房产证现在能过户吗
  • 没有发票的费用怎么入账
  • 三证合一怎么看税务登记证
  • sql is in
  • mysql8.0 主从
  • Ubuntu下mysql与mysql workbench安装教程
  • mysql数据库完全备份
  • unix系统复制命令
  • bios密码忘记了要怎么重置
  • xp系统怎么取消用户登录
  • Windows XP英文版序列号
  • winxp如何修改密码
  • Win7系统桌面图标变小
  • secondoption是什么意思
  • window7系统中的桌面指什么
  • win10打开资源管理器很慢
  • 关于我和鬼变成家人的那件事
  • 搭建nodejs
  • 网站检测系统
  • listview设置item宽度
  • pycharm配置pyqt
  • cocos2d怎么用
  • js选中div
  • javascript 对象
  • jquery22插件网
  • js缩小图片尺寸
  • jquery formbuilder
  • 在深圳居住的香港居民怎样办理边境地区通行证
  • 教育培训行业的发展
  • 地税税务登记代码怎么查
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设