tutorial socket ejemplo javascript html html5 websocket

tutorial - websocket javascript ejemplo



¿Cómo usar Sockets en JavaScript / HTML? (3)

¿Cómo usar Sockets en JavaScript / HTML?

No hay ninguna posibilidad de usar sockets de propósito general en JS o HTML. Sería un desastre de seguridad, por ejemplo.

Hay WebSocket en HTML5. El lado del cliente es bastante trivial:

socket= new WebSocket(''ws://www.example.com:8000/somesocket''); socket.onopen= function() { socket.send(''hello''); }; socket.onmessage= function(s) { alert(''got reply ''+s); };

Necesitará una aplicación de socket especializada en el lado del servidor para tomar las conexiones y hacer algo con ellos; no es algo que normalmente harías desde la interfaz de scripting de un servidor web. Sin embargo, es un protocolo relativamente simple ; mi punto final basado en Python SocketServer era solo un par de páginas de código.

En cualquier caso, en realidad aún no existe. Ni la especificación del lado de JavaScript ni la especificación de transporte de red están definidas, y ningún navegador lo admite.

Sin embargo, puede usar Flash, donde esté disponible, para proporcionar un script alternativo hasta que WebSocket esté ampliamente disponible. web-socket-js es un ejemplo libre de eso. Sin embargo, usted está sujeto a las mismas limitaciones que Flash Sockets, a saber, que su servidor tiene que ser capaz de escupir una política entre dominios a petición del puerto de socket, y con frecuencia tendrá dificultades con proxies / firewalls. (Las tomas flash se hacen directamente; para alguien que no tiene acceso público directo a IP y que solo puede salir de la red a través de un proxy HTTP, no funcionarán).

A menos que realmente necesite comunicación bidireccional de baja latencia, es mejor que se XMLHttpRequest con XMLHttpRequest por ahora.

¿Cómo usar Sockets en JavaScript / HTML?

¿Puede estar usando un buen HTML5?

Bibliotecas? Tutoriales? Artículos del blog?


Creo que es importante mencionar, ahora que esta pregunta tiene más de un año, que Socket.IO ha aparecido y parece ser la forma principal de trabajar con sockets en el navegador ahora; también es compatible con Node.js hasta donde yo sé.