ホームページ >ウェブフロントエンド >jsチュートリアル >Node.js を使用して簡単なチャット ルームを作成する方法

Node.js を使用して簡単なチャット ルームを作成する方法

不言
不言オリジナル
2018-06-30 11:42:161876ブラウズ

この記事では、簡単なチャット ルームを作成するための Node.js の関連情報を詳しく紹介します。興味のある友人は参考にしてください。

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 ここに2人のネチズンのスクリーンショットがあります

上記はこの記事の全内容です。皆様のお役に立てれば幸いです。学習、詳細 関連コンテンツについては、PHP 中国語 Web サイトにご注意ください。

関連する推奨事項:

angular2とnodejsは画像アップロード機能を実装します

SpringBootとVue.jsはフロントエンドとバックエンドを分離するファイルアップロード機能を実装します

以上がNode.js を使用して簡単なチャット ルームを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。