位置: 编程技术 - 正文

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)

  • 增值税月末结转还是年末结转
  • 税务申报退税
  • 企业所得税季度预缴可以弥补以前年度亏损吗
  • 保洁公司纳税税率
  • 公司购买煤炭的会计分录
  • 基金会对外捐赠未收到发票怎么入账
  • 个人独资企业租赁收入如何纳税
  • 资产负债表存货项目期末余额怎么算
  • 购置房屋
  • 私立医院整容效果都不行吗
  • 收取员工宿舍租金收入要交增值税吗
  • 收发差错率
  • 固定资产安装完毕达到预定可使用状态
  • 固定资产处理申请
  • 物业收停车费要交房产税吗
  • 税控服务费全额抵扣文件
  • 后续支出均应计入当期损益
  • 资产和利润表的关系
  • 异地缴纳附加税怎么申报
  • 会展服务可以入管理费用的哪个明细费用
  • 设备安装合同预付款比例
  • 华为nova10pro支持多少倍变焦
  • 事业单位租赁收入的处理
  • 建筑劳务公司的成本有哪些,怎么做账
  • 该内存不能为read是怎么回事
  • 退货红冲发票要收回原发票吗
  • 503错误的原因和解决方法
  • 租车接送员工上班怎么样
  • qr code在线生成二维码
  • pa等比例缩放
  • 发票开错抬头怎么进行税务处理?
  • 营改增后一般纳税人缴纳增值税彩用简易征收3%
  • 公章的法律效力范围
  • 【历史上的今天】3 月 29 日:“机器人三定律”问世;电脑动画首次获得奥斯卡;Caldera Linux 沉浮史
  • 代发工资如何计算
  • 公司建造厂房
  • 暂估的会计处理
  • 离线开票限额怎么办
  • 工资和社保基数不一致
  • 什么是公司帐户
  • 行政单位预算外收入有哪些
  • mysql unique null
  • mysql 扩展
  • 小规模纳税人销售货物税率是多少
  • 新办企业购置设备申请
  • db2获取当前年月日
  • 事业单位跨年度错账调整
  • 年终奖个税计税方式
  • 盈利能力分析的理论意义和现实意义
  • 老板垫付货款
  • 费用误计入固定资产
  • 万达对赌协议是什么
  • 进项发票和销项发票怎么抵扣
  • 核定征收也需要报税务报表吗?
  • 员工办理健康证介绍信模板
  • 中小型企业产品定位方案
  • SQL Server Bulk Insert 只需要部分字段时的方法
  • Windows Vista和Windows 7对比
  • 应该怎么消除
  • vmware vnc连接
  • 昂达主板插线安装图解
  • win7原版系统安装与激活
  • windows8.
  • mac修改用户名称
  • windows的安装
  • linux怎么刻录光盘
  • linux修改服务器ip地址
  • win10怎么添加游戏手柄
  • win7系统安全软件
  • linux用什么版本
  • js基于什么语言
  • unity3d添加组件
  • unity3d移动物体
  • js获取当前日期并格式化
  • python cx_Oracle模块的安装和使用详细介绍
  • javascript教程chm
  • 报fob价格最后谁退税
  • 国家税务局总局政策咨询
  • 廉租房取消之后有什么补贴
  • 南京国税局长是谁
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设