Pregunta

Cómo utilizar sockets en JavaScript \ HTML?

Puede ser el uso de algunos HTML5 fresco?

Las bibliotecas? Tutoriales? Artículos de blog?

¿Fue útil?

Solución

Otros consejos

  

Cómo utilizar sockets en JavaScript / HTML?

No hay facilidad para utilizar sockets de uso 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);
};

Se necesita una aplicación de socket especializada en el lado del servidor para llevar las conexiones y hacer algo con ellos; no es algo que normalmente estará haciendo desde la interfaz de secuencias de comandos de un servidor web. Sin embargo, es un relativamente simple protocolo ; Noddy mi punto final a base de SocketServer Python era sólo un par de páginas de código.

En cualquier caso, que en realidad no existe, sin embargo. Ni la especificación JavaScript del lado ni la especificación de transporte de red se clavan abajo, y no hay navegadores son compatibles con ella.

Puede, sin embargo, utilizar Flash disponible, para proporcionar la secuencia de comandos con un repliegue hasta WebSocket está ampliamente disponible. de Gimite href="http://github.com/gimite/web-socket-js" web-socket-js es un ejemplo libre de tal. Sin embargo, están sujetos a las mismas limitaciones que el flash de sockets entonces, a saber, que el servidor tiene que ser capaz de escupir a cabo una política entre dominios en solicitud al puerto de socket, y que a menudo tienen dificultades con proxys / cortafuegos. (Tomas de Flash se hacen directamente;. Para alguien sin acceso IP pública directa que sólo puede salir de la red a través de un proxy HTTP, que no funcionarán)

A menos que realmente necesita de baja latencia de la comunicación bidireccional, es mejor quedarse con XMLHttpRequest por ahora.

Creo que es importante mencionar, ya que esta cuestión es de más de 1 año de edad, que Socket.IO ha ya salir y parece ser la principal forma de trabajar con tomas en el navegador ahora; También es compatible con Node.js por lo que yo sé.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top