位置: 编程技术 - 正文

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

  • 进口报关商品的完税价格包含运费吗
  • 残保金滞纳金能抵扣吗
  • 增值税普票可以开给个人吗
  • 有主营业务收入就一定有销项税吗
  • 采购服务需要缴什么税
  • 进项税额转出是在借方还是贷方
  • 其他综合收益税后净额影响净利润吗
  • 一般纳税人销售使用过的固定资产
  • 增值税出口退税政策
  • 为在建工程发生的管理费用
  • 建设工程中税费如何承担
  • 商贸运费核算到几号结束
  • 一般纳税人税控维护费怎么填报
  • 小规模纳税人核定征收怎么报税
  • 车间改造用的材料有哪些
  • 企业的停车违章怎么查
  • 食堂非税收入怎么申报
  • 房地产收费依据与标准
  • 未达起征点销售额怎么填申报表
  • 投资性房地产的后续计量从成本模式转为公允价值模式的
  • 负债转为投资 资本增加吗
  • 笔记本低电量提示
  • 个体户和有限公司哪个税收低
  • 幼儿园收入如何计算
  • 收到折扣属于什么会计科目
  • win7上网提速
  • openssh centos
  • linux swap 0
  • 期间损益的科目
  • PHP:stream_get_transports()的用法_Stream函数
  • 买房 印花税
  • 直线法摊销的账面价值
  • 以前年度损益调整借贷方向
  • 基于中国国情的中国式现代化具有哪些特色
  • PHP:mcrypt_list_algorithms()的用法_Mcrypt函数
  • 薰衣草 英国
  • 毛地黄长什么样
  • windowsserver2008r2密码重置
  • 借管理费用贷应交税费个人所得税
  • 使用的拼音
  • 残保金计提比例
  • 可以抵扣土地增值税的项目
  • 暂估入库后发票来不了
  • 织梦怎么导入数据库
  • 帝国cms使用手册
  • phpcms v9网页禁止复制
  • 计提工资的时候计提个税吗
  • 无形资产出租如何入账
  • 应收账款余额百分比法怎么算
  • 电汇汇款方式的基本流程
  • 什么是国家限制企业或行业
  • 资本化费用为什么会减少
  • 认缴 实收资本
  • 高新企业研发费用会计分录
  • 机器设备一般折旧几年
  • 年报上的从业人数是什么意思
  • 《关于工资总额组成的规定》第四条
  • 建账时都要建哪些科目
  • MySQL 5.6 (Win7 64位)下载、安装与配置图文教程
  • ac1st19.dll
  • win8搜索程序和文件在哪里
  • Win10预览版拆弹
  • svchosl.exe - svchosl是什么进程 有什么作用
  • shell下同时读取多个文件的方法
  • win7系统怎么关闭病毒防护
  • perl -p -e
  • android平台搭建
  • eclipse开发安卓app实例
  • linux定时备份文件
  • [置顶]电影名字《收件人不详》
  • jQuery 实现ajax传入参数含有特殊字符的方法总结
  • node爬取数据
  • hbase获取所有表
  • javascript scrollLeft,scrollWidth,clientWidth,offsetWidth 完全详解
  • jquery表单事件验证表单
  • swift协议范型
  • javascript获取复选框的值
  • 企业环境信用等级在哪里查询
  • 德勤 税务
  • 怎样在微信小程序里交医保
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设