Какой порт (ы) использует XMPP? - PullRequest
52 голосов
/ 10 августа 2010

Я искал и не нашел, какие порты использует XMPP. Мне нужно реализовать сервер и клиент XMPP и использовать передачу XML, передачу файлов и потоковую передачу. Они используют разные порты ?? Есть ли способ, которым я могу заставить их использовать все то же самое, поэтому мне не нужно беспокоить администратора сети? Спасибо

Ответы [ 4 ]

91 голосов
/ 10 августа 2010

Согласно Википедии :

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    

Номера портов определены в RFC 6120 § 14.7.

Вы говорите, что искали эту информацию, но не смогли ее найти. Я нашел это, ища порт XMPP . Страница Википедии, которую я цитировал выше, в настоящее время является первым результатом этого поиска, а RFC находится на первой странице результатов поиска.

5 голосов
/ 10 августа 2010

Согласно Расширяемому протоколу обмена сообщениями и присутствия (Википедия) , стандартный порт TCP для сервера - 5222.

Клиент, вероятно, будет использовать те же порты, что и протокол обмена сообщениями, но также может использовать http (порт 80) и https (порт 443) для доставки сообщений. Они имеют преимущество работы для пользователей за брандмауэрами, поэтому вашему сетевому администратору не нужно вмешиваться.

4 голосов
/ 13 августа 2010

Требуемые порты будут отличаться для вашего сервера XMPP и любых клиентов XMPP.Большинство «современных» XMPP-серверов следуют заданным портам IANA для сервера-сервера 5269 и клиента-сервера 5222. Любые дополнительные порты зависят от того, какие функции вы включаете на сервере, например, если вы предлагаете BOSH, вам может потребоватьсяоткрытый порт 80.

Передача файлов в значительной степени зависит как от клиентов, которых вы используете, так и от сервера в отношении того, какой порт он будет использовать, но большинство из них также согласовывают соединение через существующую ссылку «клиент-сервер» XMPP.поэтому требуемое открытие порта будет на стороне клиента (или через прокси через порт 80).

1 голос
/ 09 марта 2018

Официальные порты (TCP: 5222 и TCP: 5269) перечислены в RFC 6120. Вопреки утверждениям предыдущего ответа , XEP-0174 нет укажите порт . Таким образом, TCP: 5298 может быть обычным для Link-Local XMPP, но не является официальным.

Однако вы можете использовать другие порты, кроме зарезервированных: Вы можете настроить запись DNS SRV на любую машину и порт, который вам нравится.

Передача файлов (XEP-0234) в эти дни обрабатывается с использованием Jingle (XEP-0166) . То же самое касается RTP-сессий (XEP-0167) . Однако они не определяют порты, поскольку Jingle согласовывает создание потока данных между клиентами XMPP, но затем фактические данные передаются другими средствами (например, RTP) через этот поток (т.е. обычно не через сервер XMPP, даже если возможны внутриполосные передачи). Помните, что Jingle состоит из нескольких XEP, поэтому обязательно ознакомьтесь со всем списком расширений XMPP .

...