Socket.io: Obtener el encabezado HTTP 400 al usar el sondeo en socket.io

Creado en 22 abr. 2015  ·  4Comentarios  ·  Fuente: socketio/socket.io

Hola,

Recibo muchos encabezados HTTP 400 mientras uso el sondeo en socket.io.
Estoy usando el clúster de nodejs:
Aquí está el fragmento de código:

si (cluster.isMaster) {
// Trabajadores de horquillas.
//numero de CPU=1;
for (var i = 0; i < numCPUs-1; i++) {
clúster.fork();
}
}
// código de trabajador:
demás{

var socket_io = require('socket.io')(servidor);
var redis_adapter = require('socket.io-redis');
socket_io.adapter(redis_adapter({ host: config.redis.ip, puerto: config.redis.port }));

//resto del codigo
socket_io.on('conexión', función (enchufe) {

}

Cualquier puntero en este sentido será útil.

Gracias de antemano

Closed due to inactivity

Comentario más útil

¡Hola! Tuve muchos problemas para configurar un clúster con socket.io, ya que no hay muchos ejemplos. Tengo un ejemplo de trabajo que uso para controlar algunos raspberryPi en

https://github.com/jordanpappas/raspi-car/tree/master/server

Realmente necesito hacer un ejemplo separado para mostrar cómo hacer que esto funcione, pero por ahora puede consultar el archivo de índice en el enlace. Hay algunas cosas que debe asegurarse de hacer para que esto funcione.

  1. Use redis (parece que ya lo está haciendo, así que compare cómo conectó el adaptador con mi ejemplo)
  2. Use solo websockets. Esto es cierto tanto para los clientes como para el servidor. Estos errores que está recibiendo tienen que ver con las encuestas, así que no lo use. Haz esto así
var io = sio(server, { 'transports': ['websocket'] });

y en el cliente:

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

Esto debería ayudarlo a moverse en la dirección correcta, y trabajaré para obtener un ejemplo simple juntos.

Todos 4 comentarios

¡Hola! Tuve muchos problemas para configurar un clúster con socket.io, ya que no hay muchos ejemplos. Tengo un ejemplo de trabajo que uso para controlar algunos raspberryPi en

https://github.com/jordanpappas/raspi-car/tree/master/server

Realmente necesito hacer un ejemplo separado para mostrar cómo hacer que esto funcione, pero por ahora puede consultar el archivo de índice en el enlace. Hay algunas cosas que debe asegurarse de hacer para que esto funcione.

  1. Use redis (parece que ya lo está haciendo, así que compare cómo conectó el adaptador con mi ejemplo)
  2. Use solo websockets. Esto es cierto tanto para los clientes como para el servidor. Estos errores que está recibiendo tienen que ver con las encuestas, así que no lo use. Haz esto así
var io = sio(server, { 'transports': ['websocket'] });

y en el cliente:

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

Esto debería ayudarlo a moverse en la dirección correcta, y trabajaré para obtener un ejemplo simple juntos.

Claro, gracias. Resolví el problema. Estaba usando una biblioteca de sesión fija dentro del trabajador del clúster, lo cual es incorrecto ya que la biblioteca en sí crea a los trabajadores.

Ese tema se cerró automáticamente. Verifique si su problema se solucionó con la última versión y vuelva a abrir si es necesario (con un violín que reproduzca el problema si es posible).

Pierde 4 horas en este problema

¿Fue útil esta página
0 / 5 - 0 calificaciones