位置: 编程技术 - 正文

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)

  • 城建税计税依据公式
  • 城镇土地使用税的征税范围
  • 接受投资材料
  • 建筑业老项目如何界定
  • 小规模纳税人月超10万季度不超30万
  • 民办非企业可以上市吗
  • 网上申报中月平均工资怎么计算
  • 备用金与其他应收款的记账规则
  • 企业所得税债务重组所得
  • 佣金是否要交所得税
  • 营业以后再次装修进什么会计科目?
  • 金税设备维护费账务处理
  • 材料暂估价结算调整规定
  • 工程款增值税怎么算
  • 工资薪金税前扣除比例
  • 资本金结汇资金用途
  • 附加税减半征收计提和缴纳的会计分录
  • 劳务费按次500元
  • 打款给个体户
  • 小规模纳税人怎么开增值税专用发票
  • 批发企业购进商品发生的进货费用可以选择下列
  • 法定盈余公积是留存收益吗
  • 小规模减征额哪些项目
  • 房地产记账凭证
  • 1697506686
  • 往年个税申报数据查询
  • scardsvr32.exe - scardsvr32是什么进程 有什么用
  • 印花税会计分录2023
  • 作为一名程序员应该掌握哪些语言
  • php和mysql web开发怎么样
  • php excute
  • laravel获取请求参数
  • php addslashes函数
  • 减值准备递延所得税资产
  • 没有公网ip如何实现外网访问路由器
  • 侧边导航栏点击后再展开
  • yolo系列算法比较
  • css实现文字颜色渐变
  • 转正差额怎么算
  • 预付一年的技术服务费
  • 一般纳税人差额纳税
  • 管理费用借贷方不平
  • 小规模纳税人都是3%吗
  • 公司的货款直接转给股东个人了,该怎么转到公司
  • 财产租赁合同印花税双方都要交吗
  • 小规模减免增值税政策
  • 承租人收到融资租赁款
  • 管理人员工资属于酌量性固定成本
  • 预提费用汇算清缴前取得发票
  • 转让专利权的使用权
  • 坏账准备具有什么功能
  • 暂估入库成本差异
  • 报销冲抵什么意思
  • 分期收款销售什么意思
  • sql的数据操作
  • linux命令实现
  • mysql 5.7.17 64bit安装配置方法图文教程
  • 两台苹果怎么用电脑把数据同步
  • 电脑bios怎么分区
  • window10节电模式怎么关闭
  • win1021年更新
  • linux从一个命令获取数据到另一个命令
  • ExtJS4如何给同一个formpanel不同的url
  • linux系统中可用于添加用户账号
  • python语言中
  • 获取本站的context root
  • ecmascript6教程
  • 置顶怎么折叠起来
  • unity2020怎么导入资源
  • unity 子对象
  • python的设置
  • wpf 设置鼠标样式
  • python django orm
  • 从国外进口到国内销售的商品
  • 供电代收电费
  • 国家税务总局里面怎么改办税人
  • 讨论如何做好寺庙管理服务工作
  • 税务局窗口人员工作内容
  • 工商年检报告书怎么打印
  • 市中区税务局办税大厅上班时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设