2012-06-22 8 views

Respuesta

7

No, no puede, al menos no directamente.

Los WebSockets permiten la mensajería en tiempo real entre un navegador y un servidor WebSocket, pero tienen su propio protocolo de capa 7 para encapsular esos mensajes.

No no proporcionan acceso a un socket TCP puro (o UDP) sobre el que puede implementar protocolos existentes.

+0

se puede hacer un lado del servidor socket por ejemplo, PHP. El IRC RFC puede reproducirse tal cual. –

+0

@Leandro y ¿qué pasa con el lado del cliente? El cliente – Alnitak

+0

usará la traducción servida. –

8

¡Absolutamente!

La advertencia es que necesita algo para tender un puente entre el protocolo de transporte WebSocket del navegador y el socket TCP sin formato del servicio existente. Por ejemplo, algo como websockify (descargo de responsabilidad: he creado websockify). Otra advertencia es que websockify solo es compatible con los destinos TCP (WebSocket es TCP solo ahora, por lo que el soporte de los destinos UDP sería un poco extraño).

El proyecto websockify en realidad incluye dos páginas de prueba de concepto HTML/Javascript para comunicarse con IRC y telnet. Si está interesado en aprovechar websockify para crear clientes HTML/Javascript para algunos protocolos TCP comunes, incluso podría incluirlos en el repositorio websockify como ejemplos (suponiendo que estén bien codificados y bajo una licencia de código abierto.

Una alternativa a websockify es integrar la compatibilidad con el servidor websocket directamente en los servidores con los que desea comunicarse. No es tan difícil agregar soporte. WebSocket tiene un encuadre muy simple y, aunque el handshake es compatible con los servidores HTTP, en realidad es mucho más restringido y simple. y no requiere un analizador HTTP completo. Por ejemplo, libvncserver 0.9.9 ahora admite conexiones VNC regulares y conexiones VNC sobre WebSocket. Esto permite que noVNC (que también creé) se conecte directamente a un servidor VNC basado en libvncserver sin requerir websockify

+0

Para esto necesito instalar wbesockify en el servidor, ¿verdad? ¿Qué pasa si quiero acceder a un servidor IRC arbitrario? – Veehmot

+0

Puede ejecutar websockify en el cliente, en el servidor o en un sistema completamente diferente. El navegador solo tiene que poder abrir conexiones a websockify y websockify necesita poder abrir conexiones al servidor. – kanaka

1

InspIRCD tiene un módulo no oficial puede instalar llamada m_websockets, para permitir la conexión. Un servidor que tenga el módulo instalado y configurado le permitirá conectarse al servidor a través de webbsockets.

https://github.com/barosl/inspircd-m_websocket

0

Extendiéndose sobre @ websockify de Kanaka, este proyecto parece hacerlo:

Un HTML5 irc-cliente, hecho con WebSocket y websockify.

[Tiene] soporte para autounión, canal privado, tema, unión, lista de usuarios, parte, nick.

https://github.com/confact/dunirc

Cuestiones relacionadas