Sto cercando di saperne di più su websocket e le sue implementazioni interne. Ma ancora non riesco a capire alcune cose. Ho provato a cercare su Google una spiegazione approfondita, ma la maggior parte di loro fornisce solo una panoramica di alto livello. In seguito sono i miei dubbiImpostazione connessione Websocket
1. Secondo quanto ho letto, server socket web (C#/C++ implementazione) per impostazione predefinita utilizza la porta 80. Anche se siamo in grado di utilizzare qualsiasi porta, è preferibile che usiamo la porta 80 come abbiamo vinto Non ci sono problemi con il firewall. Se è così, come dovremmo eseguire sia il server web che il server socket Web sulla stessa porta (80)?
2. Supponiamo che il server socket Web è in esecuzione sulla porta 81 e server web è in esecuzione sulla porta 80.
Così, quando il browser invia la richiesta iniziale di handshake HTTP (aggiornamento: websocket) , questa richiesta inviata alla porta 81. Giusto? Se è così, questa richiesta (vedi sotto) non ha alcuna relazione con un protocollo HTTP. Ma ancora usiamo le intestazioni del protocollo HTTP. Perché?
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
Perché a furia usano la stessa interfaccia websocket attualmente implementato in più browser per rilasciare una connessione TCP diretta/connessione IP con la porta dato, senza alcuna roba HTTP?
3. C'è un limite di dimensione dei pacchetti di dati o/limite di buffer per i dati inviati/ricevuti dai client/server? Se è così, abbiamo bisogno di inquadrare i dati e gestirli da soli?
4. Il server WebSocket deve sempre essere un servizio/processo separato? In futuro il server web (IIS, apache) includerà il supporto per l'hosting di server socket Web all'interno del proprio spazio di elaborazione?
domande davvero buone! – GameScripting
Ricordo di aver letto da qualche parte che la prossima versione di Windows Server supporterà socket Web sotto IIS. Windows 2008 non supporta WebSockets a causa dell'implementazione di http.sys. Se trovo il riferimento, lo mando in risposta allo – JoshBerke