193 votes

Quelle est la différence fondamentale entre les WebSockets et TCP pure ?

J’ai lu sur les WebSockets et je me demande pourquoi le navigateur ne pouvait pas simplement ouvrir connexion triviale de TCP et communiquer avec le serveur à toute autre application bureautique. Et pourquoi cette communication n’est possible par l’intermédiaire de websockets ?

292voto

Ash Points 5561

Il est plus facile de communiquer via des sockets TCP lorsque vous travaillez au sein d'un intranet de limite, car il est probable que vous avez le contrôle sur les machines sur le réseau et peuvent ouvrir les ports appropriés pour la fabrication de connexions TCP.

Sur internet, vous êtes en communication avec quelqu'un d'autre serveur à l'autre extrémité. Ils sont très peu susceptibles d'avoir des vieux support ouvert pour les connexions. Habituellement, ils ont seulement un peu de la norme, tels que le port 80 pour HTTP ou 443 pour HTTPS. Ainsi, pour communiquer avec le serveur, vous êtes obligé de vous connecter à l'aide de l'un de ces ports.

Étant donné que ce sont les ports standard pour les serveurs web qui parlent généralement l'adresse HTTP, vous êtes donc obligé de se conformer au protocole HTTP, sinon le serveur ne vous parleront pas. Le but de sockets web est de vous permettre d'établir une connexion via HTTP, mais ensuite négocier à utiliser les web sockets protocole (en supposant que le serveur est capable de le faire) afin de permettre à un plus "socket TCP"-comme le flux de communication.

40voto

wulfgar.pro Points 1567

Navigateurs Web fonctionnent à la couche Application, alors que TCP fonctionne à la couche de Transport. Comme un développeur d’applications web, il est plus facile d’envoyer des messages via le réseau, donc la couche applicative, octets pas crus à la couche de Transport.

Qui sous-tendent les WebSockets est TCP, est tirée de suite pour plus de simplicité.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X