>  기사  >  웹 프론트엔드  >  Node.js로 간단한 대화방을 만드는 방법

Node.js로 간단한 대화방을 만드는 방법

不言
不言원래의
2018-06-30 11:42:161803검색

이 글은 간단한 채팅방을 만들기 위한 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 두 네티즌의 가로채기 내용입니다


이상은 이 글의 전체 내용입니다, 저는 모두에게 도움이 되길 바랍니다. 학습에 도움이 되기를 바랍니다. 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트를 주목해주세요!

관련 권장사항:

angular2 및 nodejs는 이미지 업로드 기능을 구현합니다

# 🎜 🎜#SpringBoot와 Vue.js는 프런트엔드와 백엔드 분리의 파일 업로드 기능을 실현합니다 🎜#

위 내용은 Node.js로 간단한 대화방을 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.