位置: 编程技术 - 正文

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)

  • 个人偶然所得税率多少
  • 什么叫备品备件
  • 同产品不同单价能相加开票吗
  • 增值发票盖章有什么用
  • 待摊费用和预提费用是按照什么而设置的账户
  • 电子记账软件出纳帐
  • 外贸公司代理出口退税怎么入账
  • 小微企业如何申请土地建厂房
  • 汇票的票据行为有贴现吗
  • 摊销直线法会计分录怎么写?
  • 股东分红利息
  • 土地增值税清算扣除项目
  • 企业所得税以前年度亏损怎么弥补
  • 收到假钱的会计分录
  • 佣金付给别人公司违法吗
  • 给非企业员工佣金怎么交税
  • 耕地占用税为什么属于房地产开发成本
  • 建筑安装企业成本费用包括哪些
  • 股票印花税怎么交
  • 物业前期介入费用测算
  • 投资收益在什么科目
  • 计算企业所得税的公式
  • 个人借支备用金限额
  • 增值税专用发票电子版
  • 光伏安装工程公司有哪些
  • 合同银行账户与开票信息不一致会计如何处理
  • 电子发票上的电子税章如何才能自动生成
  • 可作为税前扣除的项目有
  • 公司为什么要签劳务协议
  • 太超过了
  • 马齿笕对什么病最有效?
  • 邮政电信卡
  • 报销差旅费会计凭证
  • 企业会计准则股本
  • php授权ip访问
  • php递归函数详解
  • setup prompt
  • 企业注销亏损怎么处理
  • 开了银行对公账户要多久
  • 股东借款属于什么科目
  • 调整汇兑损益的摘要怎么写?
  • 报销人和经办人的含义
  • 个体户银行开户选择哪个银行好
  • 通用发票如何缴销
  • 电子承兑被退回要重新背书怎么办
  • 城镇土地使用税每年都要交吗
  • 公立医院事业单位工作人员招聘实践考核自我评价
  • 减免的附加税要申报吗
  • 增值税专用发票丢了怎么补救
  • 主营业务成本计入成本类账户吗
  • 企业主营业务收入分录
  • 投资和注册资本
  • 预付账款怎么做坏账
  • 固定资产折旧方法不考虑净残值
  • 成本类科目会计处理分录
  • 股权部分转让如何计算
  • 会计如何建账做账
  • linux动态库的制作
  • win7提示无法访问权限
  • centos安装配置ftp
  • win8系统怎么重新安装系统
  • win8系统如何查看文件浏览痕迹记录
  • schedul2.exe - schedul2是什么进程 有什么用
  • linux怎么恢复数据
  • centos chrony
  • win10一直重置
  • node.js有什么作用
  • [置顶]bilinovel
  • jquery select2的使用心得(推荐)
  • android基础知识大全
  • mono为什么不能用了
  • 使用Meteor配合Node.js编写实时聊天应用的范例
  • js移动端拖拽
  • javascript的dom
  • 化妆品的消费税税率是多少
  • 国税局调地方
  • 预缴增值税申报表申报期限
  • 广东省通用机打发票怎么开
  • 北京税务迁址流程是什么
  • 养猪环保局有什么新政策
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设