Node.js怎么制作简单聊天室

本文讲解"Node.js如何制作简单聊天室",希望能够解决您遇到的有关问题,下面我们来看这篇 "Node.js如何制作简单聊天室" 文章。

示例代码如下:

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');
})

运行截图:

终端:

Node.js怎么制作简单聊天室

telnet 这里截取了两个网友

Node.js怎么制作简单聊天室

关于 "Node.js如何制作简单聊天室" 就介绍到这。希望大家多多支持编程宝库

Node.Js中怎么实现更快的数据传输:本文讲解"Node.Js中如何实现更快的数据传输",希望能够解决您遇到的有关问题,下面我们来看这篇 "Node.Js中如何实现更快的数据传输" 文章。在Node.js中,当我们给前端返回一个静态文件的 ...