Я делаю небольшую многопользовательскую игру, используя node.js и socket.io на своем ноутбуке.Иногда, когда я хочу протестировать некоторые многопользовательские функции, я захожу в игру, используя свой ПК (ПК и ноутбук подключены к сети LAN).Socket.io соединяется с IP-адресом моего маршрутизатора (196. ...) и портом 8080. До сегодняшнего дня все работало хорошо, а когда я просто хотел посмотреть, как это работает, прежде чем что-то изменить - внезапно ничего не вышло.Сначала я открыл Google Chrome на своем ноутбуке и вошел в систему, и все заработало.Затем я открыл Google Chrome на своем ПК и попытался подключиться, но это не сработало.Сначала пользователь вводит свое имя и пароль в форму и нажимает кнопку входа в систему, которая вызывает эту функцию:
login = function()
{
var n = document.forms['logn']['name'].value;
var p = document.forms['logn']['password'].value;
var socket = io.connect("http://192.168.0.13:8080");
socket.emit("login", {n: n, p: p});
socket.on("got", function(data){
if (data.good)
{
main(socket, n)
}
else
{
alert("Failed to log in.");
}
});
}
Когда я вызываю функцию get, ничего не происходит.Я заметил, что сервер регистрирует сообщения, подобные этому:
запрос установки GET /socket.io/1/websocket/
Но xhr-опрос чаще, чемWebSocket.Это все, что я знаю на данный момент, также все работает нормально в Firefox, поэтому я думаю, что это проблема с Google Chrome.
сервер регистрирует, когда я пытаюсь войти в систему с ПК:
debug - обслуживаемая статическая /socket.io.js debug - клиент авторизован
info - авторизован рукопожатие 30836340583773206
debug - запрос установки GET /socket.io/1/websocket/30836340583773206
debug - устанавливается heartbeatинтервал для клиента 30836340583773206
debug - клиент авторизован для
debug - запрос на установку GET /socket.io/1/xhr-polling/30836340583773206?t=1315509666877
debug - установка таймаута опроса
debug - отменатранспорт
отладка - очищенный интервал пульса для клиента 30836340583773206
отладка - обслужен статический /socket.io.js