Убедитесь, что на вашем сервере включены веб-сокеты. (На самом деле он не нуждается в веб-сокетах, но будет использовать его, если это возможно, для лучшей транспортировки)
Читая о zeit.co Я вижу, что они не поддерживают веб-сокеты, но не уверен, что они также поддерживают sucket. Я бы порекомендовал вам связаться с ними по электронной почте, чтобы подтвердить это, если приведенный ниже код вам не поможет.
Чтобы запустить соединение на стороне клиента, после того как вы установили socket.io-client или после того, как включили скрипт в заголовок, который у вас есть.
Вы просто подключаетесь с помощью io.connect ('SERVER URL'), который возвращает ваш экземпляр сокет-соединения. (нет необходимости проходить сервер, если работает на том же сервере)
const socket = io.connect('http://youserver.com');
// You can listen to conenct and disconnect to track your connection
socket.on('connect', socket => {
console.log('Connected', socket.id);
});
Это на стороне клиента.
На стороне сервера вам необходимо передать сервер в ваш модуль socket.io
const io = require('socket.io')(server);
// You can listen to your socket connecting through connect and disconnect
io.on('connect', (socket) => {
console.log('socket connected', socket);
});
Вы можете отслеживать свои ошибки на стороне клиента, используя событие error, и обязательно проверьте свою консоль, чтобы увидеть журналы о соединении.
В случае, если вы используете экспресс-сервер, и сокет вызывает 404 ошибки в консоли, убедитесь, что вы запускаете сервер, используя http вместо экспресс.
const app = express();
const server = require('http').Server(app);
const io = require('socket.io')(server);
// your socket and routes
server.listen(process.env.PORT || 3500, () => {
console.log(`Localhost working on ${process.env.PORT || 3500}`);
}