Я запускаю два экземпляра socket.io на моем локальном компьютере (два пространства имен).Проблема заключается в том, что при попытке подключения со стороны клиента (к любому пространству имен) я получаю следующую ошибку:
Uncaught ReferenceError: socket is not defined
Я проверил это безпользовательские пространства имен и такая же проблема возникла.Со стороны сервера все в порядке, поскольку я могу генерировать события.
Код клиента выглядит следующим образом:
Клиент
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.1.1/socket.io.js"></script>
<script>
var socketOptions = {};
socketOptions.transports = ['polling'];
var client = new PlayClient();
var playSocket = io.connect('http://localhost:8044/clients', socketOptions);
playSocket.on('connect', function(socket) {
console.clear();
console.info("CLIENT: Connected.");
socket.on("client:change scene", function(newSceneId) {
console.log(newSceneId);
client.changeScene(newSceneId);
});
});
</script>
ПохожеЯ просто переписал сокет.Итак, основные неполадки привели меня к этому ответу , подтолкнувшему меня к тому, чтобы подтвердить это. Однако, прохождение (data)
или что-то еще вместо этого все еще оставляет socket
неопределенным, но с консолью, которая объявляет: TypeError: undefined
.
Если я изменю .on('connect')
на .on('connection')
,сокет больше не перезаписывается, но не может подключиться или получить какие-либо отправленные события, потому что socket.io client не понимает событие 'connection' .
Любая помощь сэто очень ценится, так как я, кажется, попал в круговую колею.