位置: 编程技术 - 正文

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)

  • 一般纳税人销售旧货
  • 全面一次性奖金收入扣税标准
  • 出口免税不退税会计分录
  • 出租场地属于什么营业范畴
  • 小微企业所得税税率2.5% 10% 25%
  • 累计扣税法什么时候实行的
  • 广告发布费属于什么征税项目
  • 美容行业如何做活动
  • 收入总额的概念
  • 公司账户的钱怎么取出来
  • 公司收的保证金可以打入私人账户吗
  • 事业单位取暖费什么时候发
  • 进项发票不勾选会有什么后果
  • 增值税普通发票和普通发票的区别怎么交税
  • 建筑业附加税税率是多少
  • 汽车销售行业的现状及发展趋势
  • 财税2018 39号文件
  • 电脑变成代码打不开怎么办
  • 重点创业人群
  • 财务报表提供的信息仅对外部的投资者和债权人有用
  • 小规模专票普票都开怎么申报增值税
  • 核销外管证需要什么手续
  • 借 其他应付款
  • 小规模税控盘服务费怎么填增值税申报表
  • 产品种类很多月末怎么结转生产成本
  • 外账的银行存款怎么处理
  • 项目材料验收流程
  • 如何激活windows11专业版?
  • 无线网连上却上不了网络
  • 监事会职权范围是什么
  • linux中ping命令怎么用
  • php array_splice
  • 公司作为股东有什么好处
  • 酒店里用了收费的东西怎么算
  • php addslashes函数
  • 融资性租赁会计处理计入固定资产
  • 企业注销未抵扣完的进项税额怎么处理做账
  • 固定资产加速折旧最新政策2022
  • 企业的研发支出
  • 公司主营业务怎么介绍
  • 带息票据和不带息票据怎么区分
  • 劳务公司社保手续办理
  • 企业出租无形资产使用权取得的收入应计入
  • 属于流动资产的项目有
  • 税款所属期止是怎么写
  • 员工出差加油费如何报销
  • 社保为什么单位缴费是0什么时间才正常
  • 在计算应纳税所得额时
  • 待处理财产损益借方增加还是减少
  • 企业增值税征收范围
  • 固定资产卡片账是明细账吗
  • 法人向公司借款如何做账
  • 住宿费开专票怎么做账
  • 长期预付账款涉税
  • 外购商品用于赠送进项税可以抵扣吗
  • 工程中标费用放哪个科目
  • 企业汇算清缴调整费用后资产负债表怎么改
  • 施工企业如何确权
  • 忘记报关可以补报吗
  • 如何远程连接小米摄像头
  • mysql详细教程
  • mysql 更改密码
  • sql查询当前年份
  • 安装centos6.6详细步骤
  • jquery 异步请求
  • bat批处理字符串转ascii10进制规避特殊字符
  • python自动化处理
  • javascript几种类型
  • javascrpt绑定事件之匿名函数无法解除绑定问题
  • js与jquery的关系
  • beautiful python
  • python绘图题
  • 天津电子税务局官网登录入口网页版
  • 进项税销项税抵扣公式
  • 2020年民主生活会主题是什么?
  • 居民个人从境外公司获得分红
  • 发票盖哪几联
  • 税务稽查增值税账务调整案例
  • 西安新公司税务注销流程
  • 车辆报废补贴怎么拿
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设