2010-08-10 16 views
46

He buscado y no encontré qué puertos usa XMPP. Necesito implementar el servidor y el cliente XMPP y usar transferencia XML, transferencia de archivos y transmisión. ¿Usan puertos diferentes? ¿Hay alguna manera de que pueda hacer que utilicen todo igual, así que no necesito molestar al administrador de la red? Gracias ¿Qué puerto (s) usa XMPP?

Respuesta

83

Según 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  

Los números de puerto se definen en RFC 6120 § 14.7.

Usted dice que ha buscado esta información pero no ha podido encontrarla. Encontré esto buscando XMPP port. La página de Wikipedia que cité anteriormente es actualmente el primer resultado de esa búsqueda, y el RFC está en la primera página de resultados de búsqueda.

+0

Hay un montón de otros comentarios sobre puertos # recomendados en el RFC en las secciones 2.3, 2.4 y 2.5 también (http://www.ietf.org/rfc/rfc3920.txt) –

4

Según Extensible Messaging and Presence Protocol (Wikipedia), el puerto TCP estándar para el servidor es 5222.

El cliente sería presumiblemente utilizar los mismos puertos como el protocolo de mensajería, pero también puede usar http (puerto 80) y https (puerto 443) para la entrega de mensajes. Estos tienen la ventaja de funcionar para los usuarios que se encuentran detrás de los firewalls, por lo que su administrador de red no debería involucrarse.

+2

Pero para la transferencia de archivos I necesitará otro puerto, ¿verdad? – fredcrs

3

Los puertos requeridos serán diferentes para su servidor XMPP y cualquier cliente XMPP. La mayoría de los Servidores XMPP "modernos" siguen los Puertos IANA definidos para Servidor a Servidor 5269 y para Cliente a Servidor 5222. Cualquier puerto adicional depende de las características que habilite en el Servidor, es decir, si ofrece BOSH, es posible que necesite abrir puerto 80.

La transferencia de archivos depende en gran medida tanto de los clientes que utiliza como del servidor en cuanto al puerto que usará, pero la mayoría de ellos también negocian la conexión a través de su enlace XMPP cliente-servidor existente para que el la apertura del puerto requerido será el lado del cliente (o proxy a través del puerto 80.)

0

El official ports (TCP: 5222 y TCP: 5269) se enumeran en el RFC 6120. Contrariamente a las afirmaciones de un previous answer, XEP-0174 does not specify a port. Por lo tanto, TCP: 5298 podría ser habitual para Link-Local XMPP, pero no es oficial.

Sin embargo, puede utilizar otros puertos además de los reservados: puede hacer que su punto de registro DNS SRV sea cualquier máquina y puerto que desee.

File transfers (XEP-0234) se manejan actualmente usando Jingle (XEP-0166). Lo mismo vale para RTP sessions (XEP-0167). No especifican puertos, ya que Jingle negocia la creación del flujo de datos entre los clientes XMPP, pero los datos reales se transfieren por otros medios (por ejemplo, RTP) a través de ese flujo (es decir, no a través del servidor XMPP, aunque transferencias en banda son posibles). Tenga en cuenta que Jingle se compone de varios XEP, así que asegúrese de echarle un vistazo a toda la lista de XMPP extensions.