Socket.io: Получение HTTP-заголовка 400 при использовании опроса на socket.io

Созданный на 22 апр. 2015  ·  4Комментарии  ·  Источник: socketio/socket.io

Привет,

Я получаю много 400 заголовков HTTP при использовании опроса на socket.io.
Я использую кластер nodejs:
Вот фрагмент кода:

если (кластер.isMaster) {
// Форк рабочих.
//количество ЦП=1;
for (var i = 0; i < numCPUs-1; i++) {
кластер.вилка();
}
}
// рабочий код:
еще{

var socket_io = require('socket.io')(сервер);
var redis_adapter = require('socket.io-redis');
socket_io.adapter(redis_adapter({хост: config.redis.ip, порт: config.redis.port}));

//остальный код
socket_io.on('соединение', функция (сокет) {

}

Любой указатель в этом отношении будет полезен.

Заранее спасибо

Closed due to inactivity

Самый полезный комментарий

Привет! У меня было много проблем с настройкой кластера с socket.io, так как примеров не так много. У меня есть рабочий пример, который я использую для управления некоторыми raspberryPi в

https://github.com/jordanpappas/raspi-car/tree/master/сервер

Мне действительно нужно сделать отдельный пример, чтобы показать, как это работает, но пока вы можете проверить индексный файл по ссылке. Есть несколько вещей, которые вы должны обязательно сделать, чтобы заставить это работать.

  1. Используйте Redis (похоже, вы уже это делаете, поэтому сравните, как вы подключили адаптер, к моему примеру)
  2. Используйте только веб-сокеты. Это справедливо как для клиентов, так и для сервера. Эти ошибки, которые вы получаете, связаны с опросом, поэтому не используйте его. Сделай это вот так
var io = sio(server, { 'transports': ['websocket'] });

и на клиенте:

var socket = io.connect('http://localhost:3000', { 'transports': ['websocket'] });

Это должно заставить вас двигаться в правильном направлении, и я поработаю над простым примером.

Все 4 Комментарий

Привет! У меня было много проблем с настройкой кластера с socket.io, так как примеров не так много. У меня есть рабочий пример, который я использую для управления некоторыми raspberryPi в

https://github.com/jordanpappas/raspi-car/tree/master/сервер

Мне действительно нужно сделать отдельный пример, чтобы показать, как это работает, но пока вы можете проверить индексный файл по ссылке. Есть несколько вещей, которые вы должны обязательно сделать, чтобы заставить это работать.

  1. Используйте Redis (похоже, вы уже это делаете, поэтому сравните, как вы подключили адаптер, к моему примеру)
  2. Используйте только веб-сокеты. Это справедливо как для клиентов, так и для сервера. Эти ошибки, которые вы получаете, связаны с опросом, поэтому не используйте его. Сделай это вот так
var io = sio(server, { 'transports': ['websocket'] });

и на клиенте:

var socket = io.connect('http://localhost:3000', { 'transports': ['websocket'] });

Это должно заставить вас двигаться в правильном направлении, и я поработаю над простым примером.

Конечно, спасибо. Я решил проблему. Я использовал библиотеку липких сеансов внутри кластерного рабочего, что неправильно, поскольку библиотека сама создает рабочих.

Этот вопрос был закрыт автоматически. Пожалуйста, проверьте, устранена ли ваша проблема в последнем выпуске, и при необходимости снова откройте (если возможно, с помощью скрипки , воспроизводящей проблему).

Потратьте 4 часа на эту задачу

Была ли эта страница полезной?
0 / 5 - 0 рейтинги