Node.js制作简单聊天室

发布时间 - 2026-01-10 22:29:03    点击率:

看了TCP的有关知识,写了个基于NET的聊天室。

var net = require('net');

var count = 0,
  users = {};

var server = net.createServer(function (conn) {
  console.log('连接到');
  conn.write(
     "\r\n > welcome to node-chat!"
    + "\r\n > " + count + " other people are connected at this time."
    + "\r\n > please write your name and press enter: "
   );
  count++;
  // 代表当前连接的昵称
  var nickname;
  console.log(conn);
  conn.on('data', function (data) {
    // 删除\r\n
    // data = data.replace('\r\n', '  ');

    // 当前注册的昵称不存在
    if (!nickname) {
      // 用户名存在
      if(users[data]) {
        conn.write('nickname in use');
        return;
      } else {
        // 用户名给nickname
        nickname = data;
        users[nickname] = conn;
        for (var i in users) {
          users[i].write('\r\n > ' + nickname + ' join our room \r\n > I: ');
        }
      }
    } else {
      // 开始聊天
      for (var i in users) {
        if (i != nickname) {
          users[i].write('\r\n > ' + nickname + ': ' + data);

        }
      }
    } 
  });

  conn.on('close', function () {
    count--;
  });
  conn.setEncoding('utf8');


});

server.listen(3000, function () {
  console.log('服务器监听端口3000');
})

运行截图:

终端:

telnet 这里截取了两个网友

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Node.js  # 聊天室  # Node.js创建Web、TCP服务器  # Nodejs创建TCP服务器 - king0222  # Nodejs之TCP服务端与客户端聊天程序详解  # node.js 用socket实现聊天的示例代码  # Nodejs实现多房间简易聊天室功能  # AngularJS+Node.js实现在线聊天室  # 使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室  # nodejs实现的一个简单聊天室功能分享  # WebSocket+node.js创建即时通信的Web聊天服务器  # nodejs简单实现TCP服务器端和客户端的聊天功能示例  # 看了  # 不存在  # 写了  # 连接到  # 大家多多  # server  # users  # count  # require  # createServer  # console  # log  # function  # conn  # net  # br 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么在Blade中安全地输出原始HTML内容  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  网站制作软件有哪些,制图软件有哪些?  香港服务器如何优化才能显著提升网站加载速度?  Linux安全能力提升路径_长期防护思维说明【指导】  如何在云主机上快速搭建多站点网站?  高防服务器租用指南:配置选择与快速部署攻略  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  音乐网站服务器如何优化API响应速度?  潮流网站制作头像软件下载,适合母子的网名有哪些?  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤  Laravel如何使用Eloquent进行子查询  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】  如何在阿里云高效完成企业建站全流程?  如何在阿里云ECS服务器部署织梦CMS网站?  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  如何在新浪SAE免费搭建个人博客?  悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  Laravel如何操作JSON类型的数据库字段?(Eloquent示例)  大学网站设计制作软件有哪些,如何将网站制作成自己app?  Laravel怎么导出Excel文件_Laravel Excel插件使用教程  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  如何在橙子建站中快速调整背景颜色?  深圳网站制作培训,深圳哪些招聘网站比较好?  如何撰写建站申请书?关键要点有哪些?  如何在Windows 2008云服务器安全搭建网站?  js代码实现下拉菜单【推荐】  Laravel如何与Pusher实现实时通信?(WebSocket示例)  如何用PHP快速搭建高效网站?分步指南  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  如何快速打造个性化非模板自助建站?  javascript中闭包概念与用法深入理解  如何在阿里云虚拟服务器快速搭建网站?  焦点电影公司作品,电影焦点结局是什么?  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  Laravel如何使用模型观察者?(Observer代码示例)  javascript中的try catch异常捕获机制用法分析  Python函数文档自动校验_规范解析【教程】  网站制作免费,什么网站能看正片电影?  EditPlus中的正则表达式 实战(4)  如何在Tomcat中配置并部署网站项目?  Linux系统命令中screen命令详解  如何在建站之星网店版论坛获取技术支持?  如何快速查询网站的真实建站时间?  北京网站制作公司哪家好一点,北京租房网站有哪些?  海南网站制作公司有哪些,海口网是哪家的?