Primero clasifiquemos un poco las cosas antes de profundizar:
- Red Socket = Recurso del sistema
- Windows Sockets = Especificación
- WebSocket = Protocolo
Zócalo de red
Un punto final interno para enviar o recibir datos en un solo nodo en una red informática. Concretamente, es una representación de este punto final en el software de red (pila de protocolos), como una entrada en una tabla (lista de protocolos de comunicación, destino, estado, etc.), y es una forma de recurso del sistema.
- ¿Cuáles son los beneficios de escribir código / variables Javascript globales como una función ejecutada en línea?
- ¿Cómo hacer que una pulsación de tecla se vaya al siguiente elemento de una lista?
- ¿Dónde puedo crear mis propios archivos Javascript y luego ejecutarlos y ver qué sucede?
- ¿Cuáles son algunos lenguajes compatibles con la automatización del navegador que no sean JavaScript?
- ¿Cuál es la mejor plataforma para construir verticales de la comunidad?
Windows Sockets
Windows Sockets API (WSA), que luego se acortó a Winsock, es una especificación técnica que define cómo el software de red de Windows debe acceder a los servicios de red, especialmente TCP / IP.
WebSocket
WebSocket está diseñado para implementarse en navegadores web y servidores web, pero puede ser utilizado por cualquier cliente o aplicación de servidor. El protocolo WebSocket es un protocolo independiente basado en TCP. Su única relación con HTTP es que su apretón de manos es interpretado por los servidores HTTP como una solicitud de actualización.
Ahora, puede usar la API de Windows Sockets para crear una aplicación de cliente y servidor que en ambos sistemas reserve un socket de red para comunicarse a través del protocolo WebSocket.
De hecho, aquí está el código fuente sobre cómo hacer exactamente eso: servidor C ++ Winsock WebSocket
Si aún no está claro, revisemos un pequeño proceso de pensamiento y viajemos atrás en el tiempo cuando WebSocket era solo una especificación pero nadie tenía ninguna implementación aún. Entonces debe codificar la primera implementación usted mismo. Ya tienes la especificación WebSocket, así que sabes lo que estás tratando de lograr y solo por diversión, decides hacerlo en un sistema basado en Windows. Entonces, estudias un poco más y descubres sobre Windows Sockets (Winsock) que ya ha estado allí por siglos (Versión 1.0 / Junio de 1992) y decides usarlo. Obtiene los encabezados y bibliotecas Winsock C ++ y codifica su cliente y servidor de acuerdo con la especificación del protocolo WebSocket.
¡Y ahí lo tienes! La primera implementación del cliente y servidor WebSocket.