Tengo un cliente websocket y quiero que envíe un marco de ping a mi servidor WS. De acuerdo con el RFC 6455 , un cuadro de ping está representado por el código de operación %x9, pero no sé si es posible enviarlo desde un navegador.
Cualquier ayuda será apreciada
Sobre la base de los comentarios en su publicación original, puede enviar pings manualmente a través de websocket.
El enlace de Daniel W. de la biblioteca ws tiene un método ping() al que se puede llamar desde un cliente websocket válido. Vea un ejemplo aquí .
Si ha escrito su propia biblioteca websocket, debe cumplir con el marco estándar descrito en RFC6455 The Websocket Protocol .
Debería poder empaquetar un búfer con el encabezado correcto y el código de operación de control y enviarlo a través de la conexión TCP HTTP1.1 actualizada.
Editar:
Investigaciones posteriores muestran que, en el momento de escribir este artículo, el método Ping no es compatible a través delcliente Websocket nativo y el método de envío parece admitir solo cargas útiles y no mensajes de comando, que incluyen códigos de operación para comandos como ping.
Una opción podría ser ir con una solución basada en WASM que podría hacer conexiones TCP no basadas en XHR o no basadas en búsqueda, sin embargo, esto viene con un conjunto completamente diferente de desafíos.