Я пытаюсь создать тестовый чат с node js и socket.io на моем сервере.
Гипотетически я просто хочу, чтобы socket.io обрабатывал все содержимое сервера через веб-сокеты. действительно вижу необходимость в '' http '' сервере и хочу этого избежать, так как я использую apache.
Я установил node и socket.io.
Когда я запускаю свой тестовый скрипт:
<head>
<title>Test Chat Room</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js"></script>
<script>
const socket = io('xx.xx.xx.16:3000', {transports: ['websocket', 'polling', 'flashsocket']});
</script>
</head>
Изначально я получал предупреждения CORS, и, как предлагалось в некоторых других ответах, - я добавил
{transports: ['websocket', 'polling', 'flashsocket']}
Это заставило замолчать CORS, но теперь я получаю эту ошибку:
The connection to ws://file/socket.io/?EIO=3&transport=websocket was interrupted while the page was loading. socket.io.js:8:6159
Firefox can’t establish a connection to the server at ws://file/socket.io/?EIO=3&transport=websocket.
Я новичок в node и socket.io, но, похоже, он не пытается подключиться к моему серверу.
На моем сервере я открыл порт 3000 для tcp в брандмауэре и запустил этот простой скрипт узла ...
const io = require('socket.io')();
io.set('origins', '*:*');
io.on('connection', client => {
console.log('someone connected');
});
io.listen(3000);
console.log('listening on 3000');
Спасибо за вашу помощь