Окружающая среда:
Nodejs + Socketio
Проблема:
- клиент A и клиент B оба подключаются к серверу;
- клиент B не работает;
- клиент A отправляет сообщение клиенту B (клиент B все еще не работает);
- клиент B снова подключится к серверу;
- [ Проблема] клиент B не может получить сообщение от A;
Код сервера
var clients = {};
io.sockets.on('connection', function (socket) {
socket.on('online', function (data) {
if (!clients[data.username]) {
clients[data.username] = socket;
}
io.sockets.emit('message', data.user + 'online now');
});
socket.on('say', function (data) {
if (data.to == 'all') {
io.sockets.emit('message', data.message);
} else { //to specific client
clients[data.to].emit('message', data.message);
}
});
});
Описание
клиент B, подключенный к серверу в одном месте. В течение периода времени клиента B в автономном режиме клиент отправляет сообщения клиенту B. Затем клиент B снова подключается к серверу в другом месте, а клиенту B необходимо получить это сообщение от клиента A. Как заставить его работать?