2010-08-10 23 views
46

J'ai recherché et n'ai pas trouvé quels ports utilise XMPP. Je dois implémenter le serveur et le client XMPP et utiliser le transfert XML, le transfert de fichiers et le streaming. Utilisent-ils des ports différents? Y at-il un moyen que je puisse les utiliser tout de même, donc je n'ai pas besoin de déranger l'administrateur réseau? MerciQuel (s) port (s) utilise XMPP?

Répondre

83

Selon Wikipedia:

 
5222 TCP  XMPP client connection (RFC 6120)  Official 
5223 TCP  XMPP client connection over SSL   Unofficial 
5269 TCP  XMPP server connection (RFC 6120)  Official 
5298 TCP UDP XMPP JEP-0174: Link-Local Messaging/ Official 
      XEP-0174: Serverless Messaging 
8010 TCP  XMPP File transfers      Unofficial  

Les numéros de port sont définis dans RFC 6120 § 14.7.

Vous dites que vous avez recherché cette information mais que vous ne l'avez pas trouvée. J'ai trouvé ceci en cherchant XMPP port. La page Wikipédia que j'ai citée ci-dessus est actuellement le premier résultat de cette recherche, et le RFC est sur la première page de résultats de recherche.

+0

Il y a beaucoup d'autres commentaires sur les ports recommandés dans le RFC dans les sections 2.3, 2.4 et 2.5 (http://www.ietf.org/rfc/rfc3920.txt) –

4

Selon Extensible Messaging and Presence Protocol (Wikipedia), le port TCP standard pour le serveur est 5222.

Le client aurait probablement utiliser les mêmes ports que le protocole de messagerie, mais peut également utiliser http (port 80) et https (port 443) pour la livraison de messages. Ceux-ci ont l'avantage de travailler pour les utilisateurs derrière les pare-feu, de sorte que votre administrateur réseau ne devrait pas avoir à s'impliquer.

+2

Mais pour le transfert de fichiers I aura besoin d'un autre port, ne pas? – fredcrs

3

Les ports requis seront différents pour votre serveur XMPP et les clients XMPP. La plupart des serveurs XMPP "modernes" suivent les ports IANA définis pour le serveur vers le serveur 5269 et pour le client vers le serveur 5222. Tout port supplémentaire dépend des fonctionnalités que vous activez sur le serveur, c'est-à-dire si vous offrez BOSH. ouvrir le port 80.

Le transfert de fichiers dépend fortement à la fois des clients que vous utilisez et du serveur sur le port qu'il utilisera, mais la plupart d'entre eux négocient également la connexion via votre liaison XMPP client-serveur existante. ouverture de l'orifice sera nécessaire côté client (ou proxy via le port 80.)

0

Le official ports (TCP: 5222 et TCP: 5269), sont énumérés dans le document RFC 6120. Contrairement aux revendications d'une previous answer, XEP-0174 does not specify a port. Ainsi, TCP: 5298 peut être habituel pour Link-Local XMPP, mais n'est pas officiel.

Vous pouvez toutefois utiliser d'autres ports que les ports réservés: Vous pouvez définir votre point d'enregistrement DNS SRV sur n'importe quel ordinateur et port.

File transfers (XEP-0234) sont ces jours manipulés en utilisant Jingle (XEP-0166). La même chose vaut pour RTP sessions (XEP-0167). Ils ne spécifient pas de ports, car Jingle négocie la création du flux de données entre les clients XMPP, mais les données réelles sont ensuite transférées par d'autres moyens (par exemple RTP) via ce flux (généralement pas via le serveur XMPP, même si les transferts intrabandes sont possibles). Méfiez-vous que Jingle est composé de plusieurs XEP, alors assurez-vous de jeter un oeil à la liste complète de XMPP extensions.