位置: 编程技术 - 正文

Nodejs之TCP服务端与客户端聊天程序详解(nodejs tcp)

编辑:rootadmin

推荐整理分享Nodejs之TCP服务端与客户端聊天程序详解(nodejs tcp),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:nodejs搭建http服务器接收请求,nodejs搭建http服务器接收请求,nodemcu tcp server,nodejs tcp服务器,nodejs tcp连接上限,nodejs tcp服务器,nodejs tcp服务器,nodejs tcp服务器,内容如对您有帮助,希望把文章链接给更多的朋友!

TCP是用来计算机之间进行通信的,通过编写客户端和服务端聊天的代码,对于服务器与客户端的工作步骤有了深刻的了解,在这里根据了不起的Node.js一书来总结一下。

TCP聊天程序需要用到Nodejs中的net模块,net模块是对TCP的封装,用于创建TCP服务端与客户端的。

服务器端

Nodejs之TCP服务端与客户端聊天程序详解(nodejs tcp)

count:连接的客户端个数;users:用于存储客户端用户昵称的对象,对象值都为该客户端的Socket,Socket是一个接口,用于服务端与客户端通信。net.createServer:是用来创建TCP服务器,传递的函数为connetion事件的监听器,connection事件在有客户端连接上服务器后触发,传进去的参数conn是一个socket,即net.Socket的实例,是既可读也可写的。conn:是回调函数的参数,每一个客户端对应的conn都是不一样的,服务器会自动识别。conn.write:是将数据发送到客户端上。nickname:是额户端的昵称,当nickname为undefined时,代表客户端还没有输入昵称,需要输入昵称验证,若不为空则已经存储,代表输入的数据是对话,需显示到其他的客户端上。conn.on('data',function (data){…}):是用来接收客户端传来的数据。

客户端

process.stdin.resume():process.stdin流来接受用户的键盘输入,这个可读流初始化时处于暂停状态,调用流上的resume()方法来恢复流。process.stdin.on('data', function(data){…}):是用来获取键盘的输入,并用client.write()将它发送到服务端。stop:用来判断客户端是否是正常断开连接。net.createConnection:是用来创建于服务端的连接,并且给connect事件自动添加监听器,监听器不接收参数。返回的是 'net.Socket'。

TCP聊天程序

这里是在git中运行的,连接了3个客户端的测试结果:

标签: nodejs tcp

本文链接地址:https://www.jiuchutong.com/biancheng/380871.html 转载请保留说明!

上一篇:基于node.js的fs核心模块读写文件操作(实例讲解)(基于nodejs的项目)

下一篇:Node.js+Express+MySql实现用户登录注册功能

  • 应付职工薪酬纳税调整
  • 车险发票不含车船税怎么记账
  • 出口免税收入的计税依据
  • 汽车销售分期付款的账务处理
  • 发票勾选是否为转内销凭证是什么意思
  • 长期待摊一般摊几年
  • 企业收入为0要报企业所得税吗
  • 总资产报酬率的公式
  • 季度超了30万年度没超120
  • 科技型中小企业条件
  • 增值税发票丢了怎么补开
  • 应付账款是负数怎么回事
  • 应交税金进项税的会计分录
  • 关联企业借款利息税前扣除
  • 以前年度的负债没挂账怎么办
  • 一般存款账户可以转账给个人吗
  • 现金日记账支出是记借还是贷
  • 货物运输代理服务税率
  • 晚会主持人化妆
  • 非营利组织取得稳岗补贴收入要交税吗
  • 哪些记账凭证
  • 保险代理公司做什么
  • 为什么要结转成本差异
  • 税后利润是净利润还是利润总额
  • 单位给个人付款分录
  • 生产企业成本会计科目
  • 已签收的电子银行承兑汇票截图给别人有风险吗
  • 残保金零申报但是逾期未报
  • 营改增之后账务怎么处理
  • 苹果官网
  • 小规模企业没有成本票怎么办
  • 冲减其他应收款摘要怎么写
  • 进程mmc.exe
  • csinsmnt.exe进程的作用介绍 csinsmnt是什么进程
  • php生成html
  • 大家在抢红包怎么回复
  • 销售过程会计核算实训过程
  • phpfilter
  • 对方开过来的专票丢了怎么办
  • 黄金期货交易要怎么样
  • PHP:mcrypt_module_open()的用法_Mcrypt函数
  • 蒂内河畔圣艾蒂安小镇,法国阿尔卑斯省 (© CAVALIER Michel/hemis.fr/Alamy Stock Photo)
  • php支付功能
  • 缴纳水利建设基金计入什么科目
  • 微信小程序详细教程
  • prompt命令用法
  • 借款的帐务处理?
  • 哪些合同不需要线上审批
  • 商誉在资产负债表中如何体现
  • 非营利企业的劳动力需求有哪些特点
  • 新会计准则物业公司计提应收账款分录
  • mysql字符串索引如何排序
  • 劳务报酬和工资薪金有什么区别
  • 单位出租不动产,按照5%的征收率计算应纳税额
  • 公司为小规模纳税人
  • 低值易耗品的金额
  • 所得税汇算清缴需要调增的项目
  • 怎么解释税收
  • 已经认证的进项发票在哪里查询
  • 当月发票未作废
  • 设备维保费如何计算
  • 戴尔电脑u盘快速启动
  • win7电脑ip地址怎么查
  • win8计算器在哪里找
  • linux learn
  • nodejs中art-template模板语法的引入及冲突解决方案
  • linux中查看命令怎么使用
  • 批量替换在哪
  • perl package
  • android自定义view ondraw有时候不执行
  • 手机端apk反编译工具_android反编译工具
  • shell脚本定时任务怎么写
  • python urllib urlopen
  • javascript用处
  • jquery 插件写法
  • 税务徽标含义
  • 变更主管税务机关需要注销吗
  • 河北手工发票查验平台
  • 营业执照每个季度申报吗
  • 我国现行消费税在生产环节征收
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设