位置: 编程技术 - 正文

Node.js中使用socket创建私聊和公聊聊天室(nodejs的socket)

编辑:rootadmin

推荐整理分享Node.js中使用socket创建私聊和公聊聊天室(nodejs的socket),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:sockjs node,socketjs-node/info,sockjs node,node socket,sockjs node,nodejs socket hang up,node.js中使用文件流进行文件复制,首先需要创建一个,nodejs的socket,内容如对您有帮助,希望把文章链接给更多的朋友!

先给大家展示效果图:

在上篇文章给大家介绍使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室,本文继续介绍Node.js中使用socket创建私聊和公聊聊天室,具体详情请看下文吧。

nodejs的应用中,关于socket应该是比较出彩的了,socket.io在github上有几万人的star,它的成功应该是不输于express的,为了方便了解整个socket.io的使用.

例子请点击 我在msg.js里是这样写的

这样就和谐了,db是创建mysql连接的方法,不在本节内容里,略。

在socket.io里是这样的,首先创建一个io通道的连接,然后监视里面的socket的事件,nodejs是事件驱动嘛。代码如下:

Node.js中使用socket创建私聊和公聊聊天室(nodejs的socket)

这时只要有用户连接上,就会进入connection中了,然后它的参数是个socket,如果是公聊,我们可以直接用

这种形式了。但我们这里是私聊,所以我们要临时的把这个socket对象保存在全局里,供与你私聊的对象使用找到你的socket,很绕口,其实这里的私聊,不算完全的点对点,它还是经过了服务器的,消息传给服务器,服务器再找到你要传达给的那个人的socket对象,发给他。这就是整个的过程了。这里我使用的是一个类数组对象来存储的.

由于我这里需要用户名登录,所以我就把用户名作为了唯一的标识(这只是一个例子,不要跟我谈用户名重复的情况),这里用类数组的形式的好处就是我不用循环也能够很快的找到它。再我给A发送私聊时,我会先在这个uscoket里面找到它,然后调用它的emit。

这里我emit了两次的原因是,我发给对方消息的同时,我自己也要收到这个消息,然后把它显示出来,为什么这样?其一,接口统一了,聊天里的内容全是服务器过来的,其二,证明我发送成功了。

然后我在客户端监听时,也用我自己的用户名起了一个to+用户名的事件监听。

这样,不管是我发的消息,还是我收到消息,都会进入这个事件了。最后,在用户离开的时候别忘记delete掉这个对象。

好了,这样就大功告成了。

浅析nodejs实现Websocket的数据接收与发送 WebSocket是HTML5开始提供的一种浏览器与服务器间进行全双工通讯的网络技术。在WebSocketAPI中,浏览器和服务器只需要要做一个握手(handshaking)的动作,然

基于html5和nodejs相结合实现websocket即使通讯 最近都在学习HTML5,做canvas游戏之类的,发现HTML5中除了canvas这个强大的工具外,还有WebSocket也很值得注意。可以用来做双屏互动游戏,何为双屏互动游

Nodejs初级阶段之express 上一篇《node.js初体验》写的也不错,感兴趣的朋友可以了解下。Node和NPM的安装够便捷了,不细说...有几点基础顺手提一下:1.安装命令中的-g表示全局(g

标签: nodejs的socket

本文链接地址:https://www.jiuchutong.com/biancheng/370636.html 转载请保留说明!

上一篇:node.js抓取并分析网页内容有无特殊内容的js文件(nodejs抓取网页内容)

下一篇:浅析nodejs实现Websocket的数据接收与发送(nodejs web3)

  • 进口环节应纳消费税的计税依据为
  • 无票收入在增值税申报表的哪里填
  • 未分配利润分配顺序
  • 发票的收款人复核怎么写
  • 住宿发票税点为什么有6%和3%的区别
  • 其他债权投资减值准备影响账面价值吗
  • 展板制作费属于什么服务
  • 行政单位待处理财产损益要结转吗
  • 单位投资非盈利性组织怎样核算
  • 生产企业的安全员好干吗
  • 采购商品验收入库流程
  • 购买方退货的会计处理
  • 普通年金的定义
  • 税务需要申报吗
  • 银行不可税前抵扣的情形
  • 个体工商户税收标准2023年
  • 开了发票必须记收入吗
  • 个税手续费需要开具发票吗
  • 纳税人拒不缴滞纳金是否可单独强制执行
  • 企业控股情况是指
  • 厦门新车购置税计算
  • 员工因违反公司规章制度被辞退有补偿吗
  • 银行 环保
  • Win11如何卸载microsoft edge浏览器
  • 在win7系统中,添加打印机驱动程序
  • Win10 Version 1909累积更新补丁KB4601315:修复诸多 BUG
  • 购买不动产会计分录
  • 未分配收益余额在哪方
  • php数组实现原理
  • 企业注销未抵扣完的进项税额怎么处理做账
  • php框架yii
  • joomla模板制作教程
  • 纳汉双语
  • 基于stm32的小游戏
  • Delete `␍` 最简单最有效的解决方法和解释(VScode)
  • js let与var区别
  • 当月工资未发放的怎么记账
  • 公司用车租赁
  • 保险经纪公司要提取风险准备金按什么规定
  • 员工领了备用金怎么办
  • 各种账簿的登记依据和登记方法分别是什么
  • Advanced SQL Injection with MySQL
  • 发票收款人和复核人在哪儿政
  • 信用减值损失在贷方表示什么
  • mysql查询并设置变量
  • 增值是什么意思解释
  • 小规模纳税人和一般纳税人的区别
  • 应收账款借方余额
  • 企业缴纳个人所得税客户端
  • 公司借个人款利息产生个人所得税公司可以承担吗
  • 房地产中介公司排名
  • 收到外币收入怎么处理
  • 行政事业单位零星维修相关规定
  • 成本票下月的可以入上月的成本吗
  • 工程款抵房款什么意思
  • 委外加工半成品入库的会计分录
  • 旅游业小规模纳税人增值税申报
  • 给聘用人员每月多少钱
  • 利息支出应计入什么科目
  • 年底员工借款如何处理
  • 暂估成本估多了怎么办
  • 财政拨款结转是
  • 出纳怎么做账
  • 工业企业固定资产折旧年限
  • sqlserver解锁用户命令
  • 存储过程mysql
  • 红石玩家入门
  • mac osx 10.8
  • 如何延迟windows更新
  • Cpqset.exe是什么系统进程 Cpqset有啥作用
  • android linux deploy
  • win7系统通知在哪
  • 安卓游戏模拟游戏制作
  • unity g
  • 谈谈jQuery Ajax用法详解
  • android自动开关机失效
  • linux bash脚本
  • Android调整按钮位置
  • 装修费也要缴纳房产税吗
  • 税局签三方
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设