Comunidad PHPeros
Lenguajes => JavaScript => Mensaje iniciado por: SoyJoaquin. en 06 de Mayo de 2012, 20:57:28 pm
-
Buenas, para resumirlo breve, cree un servidor muy básico bajo una conexión de sockets en Python y un cliente usando webSocket de HTML5. Lo que sucede es que el cliente se queda "a la espera" sin hacer nada mientras que en el servidor si aparece la conexión entrante y aceptada del cliente. Cuando apago el servidor si aparece en el cliente que no es posible conectar.
¿Es posible de que webSocket no acepte una conexión localhost?
Cree un cliente en Python para probar el servidor y si funciona a la perfección por lo que esto solo me viene pasando en webSocket.
Saludos.
-
Intente lo mismo que tu, cree un servidor básico en c++ y luego el cliente en html5+js, e igual que tu queda a la espera, ni siquiera se activa el evento onopen de webSocket solo el de onclose cuando termino la conexión. Para quitarme de la duda también intente con un cliente en as3 y c++, y ambos respondían de forma correcta.
Puede que sea por el tipo de servidor, o por como tu dijiste hay problemas probando en localhost.
-
Intente lo mismo que tu, cree un servidor básico en c++ y luego el cliente en html5+js, e igual que tu queda a la espera, ni siquiera se activa el evento onopen de webSocket solo el de onclose cuando termino la conexión. Para quitarme de la duda también intente con un cliente en as3 y c++, y ambos respondían de forma correcta.
Puede que sea por el tipo de servidor, o por como tu dijiste hay problemas probando en localhost.
¿Después no seguiste intentando?
Es que cuando llevas un año en una cosa para que a la final no resulto por que no se activa el evento onopen da ganas de llegarse a suicidar la verdad xD
Bueno, tu servidor era en c++, el mio es en python y en ambos paso lo mismo por lo que es imposible que sea el servidor. Mas adelante lo probare en un VPS para ver si anda.
Gracias por el comentario, por un momento pensé que estaba haciendo algo mal.
-
¿Después no seguiste intentando?
Es que cuando llevas un año en una cosa para que a la final no resulto por que no se activa el evento onopen da ganas de llegarse a suicidar la verdad xD
Bueno, tu servidor era en c++, el mio es en python y en ambos paso lo mismo por lo que es imposible que sea el servidor. Mas adelante lo probare en un VPS para ver si anda.
Gracias por el comentario, por un momento pensé que estaba haciendo algo mal.
Hola Joaquín,
Este mensaje es mas bien OFFTopic pero si te interesa un VPS Windows 2003, te lo puedo dejar unos días para que practiques. Le quedan me parece 7 días, lo contraté el 14-15 del mes pasado. Si eso, mandame un MP y te doy acceso ;-).
Un saludo,
Siquillote
-
Hola Joaquín,
Este mensaje es mas bien OFFTopic pero si te interesa un VPS Windows 2003, te lo puedo dejar unos días para que practiques. Le quedan me parece 7 días, lo contraté el 14-15 del mes pasado. Si eso, mandame un MP y te doy acceso ;-).
Un saludo,
Siquillote
Bienvenido seas jaja
-
Después de experimentar por harto rato me di cuenta que tenía un problema con el handshake, pero aun así luego de arreglarlo y enviando la correcta respuesta aun no me funcionaba. Luego por simplemente probar intente con firefox y fue peor aun ya que el header que me enviaba era totalmente diferente al que recibía en chrome y terminó matando el servidor. Por lo tanto no pude encontrar una respuesta satisfactoria, no sé si será un problema de websocket o que.
Ojala logres encontrar una solución porque de verdad quedé intrigado de que es lo que estoy haciendo mal.
-
Pues…
Yo una ves hice un programa cliente-servidor (pero en gambas) y no se si aporte en algo, pero me parece que cuando trabajamos de manera local, debemos usar una ip local (en Linux no recuerdo como era el numero, pero empezaba con 27 XD)
Pero creo que estas cosas de usar los websokets debe hacerse por fuera de apache en el servidor (no termine de leer, así que no se cual es tu caso).
Sino, date una vuelta por acá:
http://foros.cristalab.com/crear-un-socket-server-en-php-t96966/
de todas formas no se recomienda que se use la nueva implementación html5 para hacer lo que quieres. Sino que utilicemos los métodos tradicionales (flash , java , objetos actives o como se llamen)
Últimamente estoy tratando de crear un Chat basado en eventsource de html5, que permite “escuchar” eventos del servidor
saludos
-
http://es.wikipedia.org/wiki/Pol%C3%ADtica_del_mismo_origen
-
Se que esta respuesta es algo atrasada, pero te encantará Joako :).
Encontré un cliente y servidor al estilo "publish/subscribe" (como pubnub), y si funciona. Lo malo es que el servidor tiene que ser en "Node.js" o en "Ruby", de lo contrario no podrá aceptar publish/subscribe pero si hacer la conexión.
(http://img713.imageshack.us/img713/30/pantallazo1mw.png)
http://faye.jcoglan.com/
PD: si quieres ver como hacer que el servidor valide todo, hice una modificación para poder filtrar por el servidor todo.
-
Si no pudiste solucionar el problema o aun utilizas pubnub, acá hice un ejemplo de chat utilizando websocket y as3 para un server.
(http://shin.cl/screen.png)
Puedes descargarlo acá:
https://t.co/waolmsvQ (https://t.co/waolmsvQ)