const net = require('net');

const clients = new Set();

function broadcast(message, sender) {
  for (let client of clients) {
    if (client !== sender) {
      client.write(message);
    }
  }
}

const server = net.createServer((socket) => {
  clients.add(socket);

  socket.write('欢迎来到聊天室!\n');
  broadcast(`${socket.remoteAddress} 已加入聊天室。\n`, socket);

  socket.on('data', (data) => {
    const message = data.toString().trim();
    broadcast(`${socket.remoteAddress}: ${message}\n`, socket);
  });

  socket.on('end', () => {
    clients.delete(socket);
    broadcast(`${socket.remoteAddress} 已离开聊天室。\n`, socket);
  });

  socket.on('error', (err) => {
    console.log('Socket Error:', err);
    clients.delete(socket);
  });
});

const PORT = 8000;
server.listen(PORT, () => {
  console.log(`聊天服务器运行在 localhost:${PORT}`);
});

 

赞(0) 打赏

支付宝扫一扫打赏

微信扫一扫打赏

标签:

上一篇:

下一篇:

相关推荐

0 条评论关于"js"

表情

最新评论

    暂无留言哦~~