NodeJS (экспресс) Socket.io — Различные Ошибки

#node.js #express #socket.io

Вопрос:

Я тестирую nodejs с помощью express и socket.io. Я попытался воспроизвести сокет.приложение для демонстрационного чата io с некоторыми настройками для изучения. Я работаю над этим на GoDaddy после выполнения некоторых руководств по запуску узла на общем хостинге.

Вот мой app.js файл, очень простой.

 const express = require('express');
const app = express();
const http = require('http').Server(app);
const io = require('socket.io')(http);
const port = process.env.PORT || 3000;

app.use(express.static(__dirname   '/public'));

app.get('/', (req, res) => {
    res.sendFile(__dirname   '/index.html');
});

io.on('connection', (socket) => {
    socket.on('chat message', (msg) => {
        io.emit('chat message', msg);
    });
    socket.on('typing', (data) => {
        socket.broadcast.emit('typing', data);
    });
    socket.on('typing_clear', (data) => {
        socket.broadcast.emit('typing_clear', data);
    });
});

http.listen(port, () => {
    console.log(`Socket.IO server running at http://localhost:${port}/`);
});
 

Я использую SSH (в терминале VS Code), чтобы попасть на сервер GoDaddy, перейдите к app.js файл и узел do app.js. Я перехожу на URL-адрес (поддомен https, если это имеет значение), и он показывает мне ожидаемую консоль.log (..), отлично.

В консоли браузера я получаю это сообщение, я не могу понять это:

 websocket.js:87 WebSocket connection to 'wss://node.domain.com/socket.io/?EIO=4amp;transport=websocketamp;sid=KIBBM4ns8yQ09rWFAAAA' failed: 
 

Я продолжаю тестировать, на странице отображается ожидаемое содержимое. Я тестирую его, и он работает. Затем я продолжаю тестировать отправку различных сообщений чата из разных окон браузера, и я продолжаю получать следующие сообщения, и он выходит из строя/перестает работать:

 polling-xhr.js:198 GET https://node.domain.com/socket.io/?EIO=4amp;transport=pollingamp;t=Nby2zZNamp;sid=KIBBM4ns8yQ09rWFAAAA net::ERR_CONNECTION_CLOSED

polling-xhr.js:198 POST https://node.domain.com/socket.io/?EIO=4amp;transport=pollingamp;t=Nby2zaWamp;sid=KIBBM4ns8yQ09rWFAAAA net::ERR_CONNECTION_CLOSED

polling-xhr.js:198 POST https://node.domain.com/socket.io/?EIO=4amp;transport=pollingamp;t=Nby2zcIamp;sid=KIBBM4ns8yQ09rWFAAAA net::ERR_CONNECTION_RESET

polling-xhr.js:198 GET https://node.domain.com/socket.io/?EIO=4amp;transport=pollingamp;t=Nby2zrL net::ERR_CONNECTION_CLOSED
 

Есть какие-нибудь идеи о том, что происходит? Годадди что-то делает? Не перепутан ли код? Я немного сбит с толку, так как могу отправить случайное количество тестовых сообщений в чате, а затем получить их. Я могу остановить и перезапустить сервер узлов, и он будет работать нормально, пока не сделает это снова… Я попытался переписать код подключения и другие материалы среди других исследований.

Спасибо.

Комментарии:

1. Поэтому главный ответ-не используйте GoDaddy для этого, они не поддерживают этот тип вещей на общем хостинге. Хероку отлично работает.