2010-08-10 18 views
46

Przeszukałem i nie znalazłem portów używanych przez XMPP. Muszę zaimplementować serwer XMPP i klienta oraz korzystać z transferu XML, przesyłania plików i przesyłania strumieniowego. Czy używają różnych portów? Czy istnieje sposób, w jaki mogę ich używać tak samo, więc nie muszę przeszkadzać administratorowi sieci? DziękiZ jakich portów korzysta XMPP?

Odpowiedz

83

Według 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  

Numery portów są zdefiniowane w RFC 6120 § 14.7.

Podobno szukasz tej informacji, ale nie możesz jej znaleźć. Znalazłem to, szukając XMPP port. Strona Wikipedii, którą przytoczyłem powyżej, jest obecnie pierwszym wynikiem tego wyszukiwania, a RFC znajduje się na pierwszej stronie wyników wyszukiwania.

+0

Istnieje kilka innych komentarzy na temat zalecanego portu # w RFC w sekcjach 2.3, 2.4 i 2.5 (http://www.ietf.org/rfc/rfc3920.txt) –

4

Według Extensible Messaging and Presence Protocol (Wikipedia), standardowy port TCP na serwerze jest 5222.

klient przypuszczalnie korzystać z tych samych portów jako protokołu komunikacyjnego, ale można też użyć http (port 80) i HTTPS (port 443) do dostarczania wiadomości. Mają tę zaletę, że pracują dla użytkowników za zaporami ogniowymi, więc administrator sieci nie musi się angażować.

+2

Ale do transferu plików I będzie potrzebował innego portu, prawda? – fredcrs

3

Wymagane porty będą inne dla serwera XMPP i dowolnych klientów XMPP. Większość "nowoczesnych" serwerów XMPP działa zgodnie ze zdefiniowanymi portami IANA dla serwerów 5269 i dla klientów 5222. Wszelkie dodatkowe porty zależą od funkcji włączonych na serwerze, tzn. Jeśli oferujesz BOSH, może być konieczne otwórz port 80.

Przesyłanie plików jest w dużym stopniu zależne od używanych klientów i serwera od tego, jakiego portu będzie używać, ale większość z nich negocjuje również połączenie za pośrednictwem istniejącego łącza XMPP klient-serwer, aby wymagany otwór port będzie po stronie klienta (lub proxy przez port 80.)

0

official ports (TCP: 5222 i TCP: 5269) są wymienione w dokumencie RFC 6120. w przeciwieństwie do twierdzeń previous answer, XEP-0174 does not specify a port. Tak więc protokół TCP: 5298 może być zwyczajowy dla Link-Local XMPP, ale nie jest oficjalny.

Można jednak użyć innych portów niż rezerwowane: Możesz ustawić rekord DNS SRV na dowolnym komputerze i porcie, który Ci się podoba.

File transfers (XEP-0234) to te dni obsługiwane za pomocą Jingle (XEP-0166). To samo dotyczy RTP sessions (XEP-0167). Nie określają jednak portów, ponieważ Jingle negocjuje tworzenie strumienia danych między klientami XMPP, ale rzeczywiste dane są następnie przesyłane przez inne środki (np. RTP) przez ten strumień (tj. Zwykle nie przez serwer XMPP, nawet jeśli transmisje wewnątrzpasmowe są możliwe). Uważaj, że Jingle składa się z kilku XEPów, więc upewnij się, że zapoznałeś się z całą listą XMPP extensions.

Powiązane problemy