Foros del Web » Programando para Internet » Node.js »

Tarda en hacer la coneccion al socket

Estas en el tema de Tarda en hacer la coneccion al socket en el foro de Node.js en Foros del Web. Hola a todos. tengo alojado en nodejitsu.com mi app. He notado que al momento de cargar la página (donde tengo implementado el socket) tarda un ...
  #1 (permalink)  
Antiguo 10/06/2013, 15:35
Avatar de nicosli  
Fecha de Ingreso: junio-2009
Ubicación: Cancún, Quintana Roo, Mexico
Mensajes: 72
Antigüedad: 15 años, 6 meses
Puntos: 5
Busqueda Tarda en hacer la coneccion al socket

Hola a todos.

tengo alojado en nodejitsu.com mi app. He notado que al momento de cargar la página (donde tengo implementado el socket) tarda un tiempo importante en conectarse al socket http://sistemasmcr.jit.su/.

este es el server.js
Código:
var nicosli = require("socket.io").listen(2045);

nicosli.sockets.on("connection", function(socket){
       socket.on("nuevoMensaje", emitir);
}

function emitir(data){
  	nicosli.sockets.emit("mensajeDesdeServidor", data );
}
realmente es muy sencillo el código por que es lo único que necesito.

pagina.html
Código HTML:
<script type="text/javascript">
	$(document).ready(function(){

		var websocket = io.connect("http://sistemasmcr.jit.su:80/");
		websocket.emit("nuevoMensaje", "nuevo_MCR_new");
	});
</script> 
Lo tengo implementado en un sistema y se conectan al mismo tiempo unos 20 usuarios los cuales hacen el uso del socket. Estoy haciendo algo mal? debería de probar otro servidor? a veces tarda hasta 10 segundos en conectarse al socket.
  #2 (permalink)  
Antiguo 11/06/2013, 02:47
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 12 años, 6 meses
Puntos: 127
Respuesta: Tarda en hacer la coneccion al socket

Tarda 10 segundos porque hace reintentos de conexión y falla. Recuerda que existe la variable connect timeout del lado del cliente que especifica el tiempo máximo durante el cual hará reintentos de conexión si estos son erróneos. El valor estándar es 10 segundos (10000 milisegundos)

Código Javascript:
Ver original
  1. io.connect(' URL ',
  2. {'connect timeout': 2000});

De paso, verifica desde qué navegador haces la conexión. Puede que alguna versión antigua de IE de problemas porque sustituya el websocket por polling. Puede que este polling dé problemas. En cualquier caso, reduce las posibilidades a websocket y flashsocket .

Código Javascript:
Ver original
  1. {
  2. "transports": ["websocket,flashsocket"]
  3. }

En cualquier caso, la primera opción es verificar la calidad del servidor.

Un saludo.
__________________
21añero.
HTML/CSS, PHP, JS/jQuery, Mysql; NodeJS/Socket.io (& V8); C++ ; Python (wxpy); Ensamblador.
Músico (clarinetista/pianista) y compositor
  #3 (permalink)  
Antiguo 11/06/2013, 08:22
Avatar de nicosli  
Fecha de Ingreso: junio-2009
Ubicación: Cancún, Quintana Roo, Mexico
Mensajes: 72
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: Tarda en hacer la coneccion al socket

Cita:
Iniciado por dontexplain Ver Mensaje
Tarda 10 segundos porque hace reintentos de conexión y falla. Recuerda que existe la variable connect timeout del lado del cliente que especifica el tiempo máximo durante el cual hará reintentos de conexión si estos son erróneos. El valor estándar es 10 segundos (10000 milisegundos)

Código Javascript:
Ver original
  1. io.connect(' URL ',
  2. {'connect timeout': 2000});

De paso, verifica desde qué navegador haces la conexión. Puede que alguna versión antigua de IE de problemas porque sustituya el websocket por polling. Puede que este polling dé problemas. En cualquier caso, reduce las posibilidades a websocket y flashsocket .

Código Javascript:
Ver original
  1. {
  2. "transports": ["websocket,flashsocket"]
  3. }

En cualquier caso, la primera opción es verificar la calidad del servidor.

Un saludo.
Gracias por tus sugerencias, me ha servido de mucho. Voy a checar lo que me dijiste y después pondré mis comentarios.

Etiquetas: coneccion, socket, tarda
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:34.