Я использую экспресс с socket.io версии 2.2.0 с этого URL: https://github.com/socketio/socket.io#readme
Я использую socket.io в приложении-реактиве, и оно отлично работает при работе на localhost, носейчас я пытаюсь перейти на живой сервер для бета-тестирования, и я не уверен, как заставить его работать на живом сервере. Я использую Bluehost.
Вот теперь я настроил его для запуска на локальном хосте:
В любом компоненте:
componentDidMount() {
this.socket = io('http://IPADDRESS:3000', {
jsonp: false
});
this.socket.on('some_string', () => this.someFunction());
}
Настройка socket.io в файле app.js:
var express = require('express');
var app = express();
var server = require('http').Server(app);
var io = require('socket.io')(server);
server.listen(3000);
io.on('connection', function (socket) {
socket.on('some_string', function (some_value) {
socket.join(some_value);
});
...
});
Через мой хостинг с Bluehost у меня есть URL, IP-адрес и номер порта. Я пытался использовать все это в моем коде, но не могу заставить его работать. Кто-нибудь знает, как это сделать?
Редактировать:
Я нашел здесь , что, очевидно, вам нужен доступ к оболочке, которая доступна только с VPS или выделенным сервером. Я подтвердил это с поддержкой чата Bluehost. А используя доступ к оболочке SSH, вы можете непрерывно запускать сервер socket.io в фоновом режиме. Это кажется правильным? Похоже, что для чего-то, что, вероятно, используют многие приложения, возникают большие проблемы ...
Даже когда я запускаю это на локальном хосте, мне приходится использовать узел в терминале для запуска сервера socket.io.
И похоже, что для открытия портов требуется выделенный сервер.