位置: 编程技术 - 正文

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)

  • 个人股权转让如何纳税
  • 拟上市企业需要做什么
  • 现金流量表现金流量项目明细分类
  • 飞机发票和行程单可以一起开吗
  • 现金流量为负的隐患
  • 法人名下的车辆费用如何进公司帐
  • 违反有关规定擅自开设银行账户的
  • 政府会计制度固定资产折旧哪个月开始计提
  • 股东分红利息
  • 固定资产清理营业外支出汇算清缴需要调增吗
  • 免抵退分录怎么做
  • 公益性捐赠全额扣除2020年第9号文件
  • 技术转让收入是指当事人履行
  • 国税申报需要带什么资料
  • 食堂伙食费怎么入账
  • 会计累计折旧属于什么科目
  • 税报错了可以更改吗
  • 应对税务稽查的六点注意事项
  • 哪些收入应计入成本
  • 所得税纳税调增调减怎么理解
  • 累计折旧的计提和处理的分录
  • 绝地求生未来之役手游下载
  • php中的变量都以什么开头
  • 双系统启动界面
  • 税法规定哪些支出不得扣除
  • 7zip怎么压缩文件为rar
  • php和javaweb
  • 外出经营范围
  • 营改增通俗
  • 布拉格下雪
  • 电子发票能否作废
  • idea连接sqlserver数据库教程
  • ieee下载论文
  • 单点登录sso原理
  • 命令grep
  • -shared
  • 嵌套循环语句
  • windows where命令
  • 简单设置w11
  • 可转换优先股会稀释股权吗
  • 普通发票增量需要什么资料
  • c语言常用函数用法
  • 销售费用变动率异常
  • 支付所得税属于经营活动产生的现金流量吗
  • 个人所得税汇算清缴
  • 公司清理固定资产怎样交税
  • 出租车定额发票代码含义
  • 季度亏损需要计提企业所得税吗
  • 利息收入管理办法
  • 新收入准则确认收入的条件
  • 固定资产折旧会计凭证
  • 应收账款核算流程
  • 上期计提的费用怎么入账
  • 其他收益会计科目核算什么
  • 生产车间制造产品领用材料45000元,领用车间一半消耗
  • 营改增是从什么时候开始实施的
  • 企业微信收款如何交税
  • 进口增值税当月可以抵扣吗
  • 记账凭证附件的作用
  • 账户与会计科目有什么联系与区别?
  • mac怎样解压rar
  • win7那些自启可以禁用
  • Ubuntu 14.04系统怎么安装Nvidia 私有显卡驱动?
  • 怎样加快电脑开机速度
  • awk结果输出到文件
  • windows8无线网络
  • 听歌播放失败什么意思
  • c#+unity3d
  • bootstrap轮播插件
  • jquery跟随鼠标移动
  • javascript延迟执行
  • js生成d.ts
  • css网页布局中注释是什么
  • jq复选框选中触发事件
  • java语言基于对象
  • js中闭包
  • swift协议范型
  • 广东地税发票查询系统
  • 广东电子税务局财务报表在哪里查询
  • 2022年中国烟草营收
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设