位置: 编程技术 - 正文

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

  • 费改税是哪一年
  • 租赁厂房对方不租怎么办
  • 不动产统一发票图片
  • 第一季度利润表简易
  • 公益捐赠流程图
  • 税务登记证注销证明
  • 绿化支出如何做会计处理?
  • 冲减应收帐款分录
  • 银行承兑到期之前怎么兑现
  • 税收返还怎么做会计分录
  • 理财产品收益交税
  • 人力资源劳务费发票税率
  • 年中股东红利分录怎么写
  • 收到汇票的账务处理
  • 营改增后机械设备租赁需缴纳什么税?
  • 开票方与受票方的区别
  • 印花税销售分录
  • 建筑总包会计分录
  • 罚没支出包括税收滞纳金吗
  • 门店关闭费用怎么处理
  • 跨年会计分录错误
  • 成本法追加投资交易费用
  • 剑灵配置要求2020官方
  • 建筑企业自持商是指
  • 汇算清缴工资薪金支出包含社保费吗
  • win11怎么提高运行内存
  • linux设置用户密码
  • windows 11截图
  • 超市代金券买什么最划算
  • 结转待抵扣
  • php字符串赋值
  • php api
  • 董事会会费应计什么科目
  • 一文读懂谢娜张杰购房跳单事件始末
  • 什么是应交税费未交增值税
  • 事业单位体检费用标准
  • php简单加密
  • ant desgin-vue
  • vue3开发app
  • 在vue中获取dom元素
  • input输入改变边框颜色
  • 如何在wordpress嵌入amazon链接
  • 李宏毅课程
  • java异常编程题
  • 升级到miui14感觉耗电快了
  • 人防车库成本能抵扣吗
  • 小企业会计制度和企业会计制度的区别
  • 记账凭证银行利息怎么写
  • 购进货物用于建筑安装
  • 调整以前年度少计收入
  • 劳务派遣公司开票内容写什么
  • 供应商来货怎么做会计分类
  • 会计科目中其期末余额应列入资产负债表存货项目的有
  • 购买股票如何操作
  • 交易性金融资产包括哪些项目
  • 小规模纳税人公户转私户可以吗
  • 暂估固定资产的账务处理
  • 设备的折旧费怎么算
  • mysql5.7.
  • mysql could not be resolved: Name or service not known
  • sql clean
  • win7自带画图软件
  • win8激活点不进去
  • centos7软件
  • nw.exe是什么进程
  • dnssne是什么意思
  • win10怎么禁用device/credential guard
  • 电脑开机出现windows7
  • win8怎么清空电脑只剩系统
  • main报错
  • js时间比较大小的方法
  • javascript 作用域
  • jquery内容
  • python中对文件操作的一般步骤
  • javascript引用值
  • 如何查询纳税信用等级证明
  • 广东省电子居住证怎么查看
  • 国家税务局发票真伪查验平台
  • 纳税信用b级可以贷款多少
  • 长沙税务查询电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设