tutorial socket examples sockets tcp socket.io udp

sockets - examples - ¿Es posible usar UDP con socket.io?



socket.io vs (2)

Aunque la pregunta ya está respondida, quiero señalar que hay formas de implementar socket.io con UDP. Por ejemplo, Dgram hace exactamente lo que estás buscando.

Este es un tutorial para socket.io + UDP con dgram.

ACTUALIZAR :

Alexandre Lacheze desarrolló un paquete node.js que trae UDP al navegador. También es compatible con socket.io. Entonces la respuesta es de alguna manera obsoleta ahora.

Tengo un juego en el que estoy trabajando y escuché que UDP es superior para los juegos en tiempo real. Sé que socket.io usa TCP y se preguntaba si hay alguna forma de cambiarlo a UDP. Intenté buscarlo, pero solo encontré publicaciones de alrededor de 2012 que dicen que UDP solo es experimental en navegadores.


No, no es posible.

socket.io usa el transporte webSocket . webSocket es una conexión TCP, no una conexión UDP. Entonces socket.io no usa UDP, usa TCP.

Lo mejor que sé es que no hay soporte UDP estándar en navegadores accesibles desde la página HTML regular Javascript.

Otras referencias sobre el tema:

¿Por qué no puedo enviar paquetes UDP desde un navegador?

Lectura del puerto udp en el navegador

Chrome admite tomas de corriente TCP y UDP

Escriba una extensión de Chrome para admitir UDP en el navegador

Cómo enviar un paquete UDP con Web RTC - Javascript?

¿Cómo hablar con sockets UDP con HTML5?

Lectura del puerto udp en el navegador

El UDP puede ser un transporte deseable para algunas circunstancias cuando desee que el paquete se entregue lo antes posible, pero si no se puede entregar inmediatamente, simplemente colóquelo. Esto a veces es útil en los juegos o incluso en la transmisión de video, donde el próximo paquete solo contendrá la próxima actualización, de modo que si el anterior no apareció, entonces no es gran cosa y preferiría que el TCP no intentara retransmitir el paquete perdido. Sin embargo, los navegadores no admiten el uso del protocolo UDP desde la página web Javascript.