2010-01-25 10 views
3

Dans Comet/Reverse Ajax/PubSub technologie sous-jacente/fondamentale est longue interrogation. Donc, selon ma connaissance du réseau et du système d'exploitation, TCP/IP ne supporte que 65535 ports, alors ma question est de savoir comment un serveur peut supporter plus de 65535 connexions simultanées.possible d'utiliser plus de 65535 ports pour l'implémentation Xmpp PubSub ou Comet?

En application Je construis, Tous les utilisateurs vont se connecter en même temps, et veut des mises à jour en direct du serveur .. comme des mises à jour en temps réel fouler stock ..

Cheers,

Répondre

6

Vous avez raison en ce qu'il ya 65535 port uniques numéros, mais une application serveur TCP permet à de nombreux clients de se connecter au même port sur un serveur . Par exemple, dans un serveur Web, tous les clients se connectent au port 80. Les connexions sont identifiées de manière unique par le 4-tuple (adresse src, port src, adresse dest, port dest).

Lors de la conception de votre implémentation, vous aurez certainement envie de lire ce que l'on appelle le C10K problem.

4

chaque connexion est attribuée comme suit:

  • IP source (pourrait être tout)
  • port source (pourrait être tout à portée 1024-65535)
  • destin ip ation (votre IP serveur)
  • port de destination (port spécifique de votre application est en cours d'exécution sur)

de sorte que le nombre de connexions au serveur est limité par le nombre de tous les ips possibles multiplié par le 64000 (environ). aucun serveur peut gérer que pour l'instant ... :)