位置: 编程技术 - 正文

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)

  • 企业所得税工会经费调整
  • 农产品税率9%还是免税
  • 审核记账对账结果怎么写
  • 公司购买设备报告怎么写
  • 实收资本可以做借方吗
  • 自然人扣缴是什么意思
  • 金税盘如何查看开票机号
  • 银行承兑汇票背书可以拆分
  • 增值税专用发票有效期是多长时间
  • 基金投资债券会赔吗
  • 票据贴现业务利润怎么算
  • 车船税重复交了怎么退怎么在网上完税?
  • 服务行业主营业务成本包括哪些内容
  • 季节性停工损失属于期间费用吗
  • 研发费用进项税额需要转出吗
  • 所得税弥补以前年度
  • 烟酒销售公司要交哪些税
  • 个体工商户有两个经营者
  • 公司注销银行账户流程
  • 专家费收取多少合适
  • 专用发票购货清单怎么写
  • 住房公积金是否全国联网
  • 私募股权基金税收主要涉及的是什么税收问题
  • 软件著作权认证查询
  • 华为分享的文件在电脑哪个文件夹
  • 如何查看microsoft账户的邮箱
  • 苹果电脑进入安全模式按什么键
  • linux安装方式
  • 城市里创业
  • 直布罗陀巨岩山
  • vue项目eslint配置
  • framework4.0怎么打开
  • php+mysql+jquery实现日历签到功能
  • vue3官方教程
  • 使用微软必应需要哪些条件
  • 利息收入怎么做账务处理
  • 票据权利的取得要件
  • 农民专业合作社名词解释
  • 公益性捐赠递延注会
  • 企业所得税外地预缴几个点
  • 买轿车产生的服务费用
  • 关联方利息支出税前扣除规定
  • 个人独资企业核算方式
  • 培训机构财务怎么做账
  • 避税的形式
  • 企业利息收入需要缴纳所得税吗
  • 防暑降温费是不是必须发
  • 印花税账务处理
  • 将自产的产品用于非应税项目
  • 待抵扣进项税额和进项税额的区别
  • 既有从价又有从租如何计算房产税
  • 置换房产流程
  • 其他业务支出的借贷方向
  • 资金结余率怎么算
  • 怎么计算预缴及附加税额
  • 购买服装费用计入什么科目
  • sql server创建架构
  • 新一代win10
  • 怎么判断win7还是win10
  • window2008 64位系统没有office组件问题分析及解决
  • 在ubuntu中安装虚拟机
  • SUSE Linux Enterprise Server 11 SP3安装教程详解
  • 苹果mac os x 10.7.5如何升级
  • linux中mail命令
  • win10语音识别怎么打开
  • 怎样把系统及软件迁移到固态
  • 快速解决便秘的小妙招
  • win8右侧栏设置
  • unity3ds
  • 微信小程序实现轮播图
  • perl tr函数
  • 电脑启动项清理
  • unity如何连接数据库
  • JavaScript中的复杂数据类型又称为
  • javascript函数如何定义及其作用
  • JavaScript实现同时调用多个函数的方法
  • jquery删除对象
  • 河南省地税网上营业厅
  • 华为西安总代理
  • 江苏省国税客服电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设