Я пишу простое приложение для чата с использованием Node.js. Код на стороне сервера:
const net = require('net');
const HOST = 'localhost';
const PORT = 3000;
const server = net.createServer();
server.listen(PORT, HOST);
server.on('connection', (socket) => {
console.log(socket.localPort);
console.log(socket.remotePort);
console.log('CONNECTED: ' + socket.remoteAddress +':'+ socket.remotePort);
socket.on('data', (data) => {
console.log('DATA ' + socket.remoteAddress + ': ' + data);
// Write the data back to the socket, the client will receive it as data from the server
socket.write('You said "' + data + '"');
});
socket.on('close', () => {
console.log('CLOSED: ' + socket.remoteAddress +' '+ socket.remotePort);
});
socket.on('error', () => {
console.log('ERROR OCCURED:');
});
});
console.log('Server listening on ' + HOST +':'+ PORT);
Проблема в том, что при подключении клиента к серверу объект сокета становится УНИКАЛЬНЫМ при каждом подключении клиента, поэтому разные клиенты не могут обмениваться сообщениями.
Как я могу заставить разных пользователей подключаться к одному сокету, чтобы они могли обмениваться сообщениями?