Estoy tratando de obtener más información sobre websocket y sus implementaciones internas. Pero todavía no puedo entender algunas cosas. Intenté buscar en Google una explicación en profundidad, pero la mayoría solo brinda una descripción general de alto nivel. Las siguientes son mis dudasconfiguración de conexión Websocket
1. De acuerdo con lo que leo, el servidor de socket web (implementación C#/C++) usa el puerto 80. Aunque podemos usar cualquier puerto, es preferible que usemos el puerto 80 como ganamos No tiene problemas con el firewall. Si es así, ¿cómo se supone que debemos ejecutar tanto el servidor web como el servidor de socket web en el mismo puerto (80)?
2. Vamos a suponer que el servidor de socket Web se ejecuta en el puerto 81 y el servidor web se ejecuta en el puerto 80.
Así que cuando el explorador emite la solicitud inicial de HTTP apretón de manos (Actualiza: WebSocket) , esta solicitud fue enviada al puerto 81. ¿Verdad? Si es así, esta solicitud (ver a continuación) no tiene ninguna relación con un protocolo HTTP. Pero aún usamos encabezados de protocolo HTTP. ¿Por qué?
GET /mychat HTTP/1.1 Host: server.example.com Upgrade: websocket Connection: Upgrade Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw== Sec-WebSocket-Protocol: chat Sec-WebSocket-Version: 13 Origin: http://example.com
qué fuerza que utilizan la misma interfaz WebSocket implementado actualmente en la mayoría navegador para emitir una conexión TCP/IP con la conexión de puerto dado, sin ningún tipo de material de HTTP?
3. ¿Hay algún límite de paquetes de datos de tamaño o/límite de búfer para los datos enviados/recibidos de cliente/servidor? Si ese es el caso, ¿necesitamos enmarcar los datos y manejarlos nosotros mismos?
4. ¿El servidor websocket siempre debe ser un servicio/proceso separado? En el futuro, el servidor web (IIS, apache) incluirá soporte para alojar servidores de socket web dentro de su espacio de proceso.
realmente buenas preguntas! – GameScripting
Recuerdo haber leído en algún lado que la próxima versión de Windows Server admitirá conectores web en IIS. Windows 2008 no puede soportar WebSockets debido a la implementación de http.sys. Si encuentro la referencia, la soltaré en la respuesta – JoshBerke