[cc lang='javascript']
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}`);
});
[/cc]
上一篇:python 量化交易
下一篇:js
共 0 条评论关于"nodejs"
最新评论