J'essaie d'en savoir plus sur websocket et ses implémentations internes. Mais ne peut toujours pas comprendre peu de choses. J'ai essayé de googler pour une explication en profondeur, mais la plupart d'entre eux donne juste la vue d'ensemble de haut niveau. D'après ce que j'ai lu, le serveur socket Web (implémentation C#/C++) utilise par défaut le port 80. Bien que nous puissions utiliser n'importe quel port, il est préférable d'utiliser le port 80 comme nous l'avons gagné. N'avoir aucun problème de pare-feu. Si c'est le cas, comment sommes-nous supposés exécuter le serveur Web et le serveur de socket Web sur le même port (80)?Configuration de la connexion Websocket
2. Supposons que le serveur socket Web est en cours d'exécution sur le port 81 et serveur Web est en cours d'exécution sur le port 80.
Ainsi, lorsque le navigateur émet la requête HTTP poignée de main initiale (Mise à jour: websocket) , cette demande envoyée au port 81. Pas vrai? Si c'est le cas, cette requête (voir ci-dessous) n'a aucun lien avec un protocole HTTP. Mais nous utilisons toujours les en-têtes de protocole HTTP. Pourquoi?
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
Pourquoi force qu'ils utilisent la même interface websocket actuellement mis en œuvre dans la plupart navigateur pour délivrer une connexion TCP/IP directe avec le port donné, sans substance HTTP?
3. est-il une limite de taille des paquets ou des données/limite de mémoire tampon pour les données envoyées/reçues du client/serveur? Si c'est le cas, avons-nous besoin d'encadrer les données et de les gérer nous-mêmes?
4. Le serveur websocket doit-il toujours être un service/processus distinct? À l'avenir, le serveur Web (IIS, apache) inclura-t-il un support pour l'hébergement de serveurs de socket Web dans son espace de traitement?
vraiment bonnes questions! – GameScripting
Je me souviens avoir lu quelque part que la prochaine version de Windows Server prend en charge les sockets Web sous IIS. Windows 2008 ne peut pas prendre en charge WebSockets en raison de l'implémentation de http.sys. Si je trouve la référence que je vais laisser tomber dans la réponse – JoshBerke