2010-08-10 35 views
46

Tôi đã tìm kiếm và không tìm thấy cổng nào XMPP sử dụng. Tôi cần triển khai máy chủ và máy khách XMPP và sử dụng truyền XML, truyền tệp và phát trực tuyến. Họ có sử dụng các cổng khác nhau không ?? Có cách nào tôi có thể làm cho họ sử dụng tất cả như nhau, vì vậy tôi không cần phải bận tâm quản trị mạng? Cảm ơnXMPP sử dụng cổng nào?

Trả lời

83

Theo 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  

Số cổng được định nghĩa trong RFC 6120 § 14.7.

Bạn nói bạn đã tìm kiếm thông tin này nhưng không thể tìm thấy. Tôi đã tìm thấy điều này bằng cách tìm kiếm XMPP port. Trang Wikipedia tôi trích dẫn ở trên hiện là kết quả đầu tiên của tìm kiếm đó và RFC nằm ở trang đầu tiên của kết quả tìm kiếm.

+0

Có một loạt các nhận xét khác về các cổng được đề xuất trong RFC trong các phần 2.3, 2.4 & 2.5 (http://www.ietf.org/rfc/rfc3920.txt) –

4

Theo Extensible Messaging and Presence Protocol (Wikipedia), cổng TCP tiêu chuẩn cho máy chủ là 5222.

Các khách hàng có lẽ sẽ sử dụng các cổng tương tự như các giao thức nhắn tin, nhưng cũng có thể sử dụng http (cổng 80) và https (cổng 443) để gửi tin nhắn. Đây có lợi thế là làm việc cho người dùng phía sau bức tường lửa, do đó, quản trị mạng của bạn không cần phải tham gia.

+2

Nhưng đối với chuyển tập tin tôi sẽ cần một cổng khác, phải không? – fredcrs

3

Các cổng được yêu cầu sẽ khác nhau đối với Máy chủ XMPP của bạn và bất kỳ Máy khách XMPP nào. Hầu hết các máy chủ XMPP "hiện đại" theo các cổng IANA được định nghĩa cho Server-to-Server 5269 và cho Client-to-Server 5222. Bất kỳ cổng bổ sung nào phụ thuộc vào các tính năng bạn kích hoạt trên Server, nghĩa là nếu bạn cung cấp BOSH thì có thể bạn cần mở cổng 80.

Truyền tệp phụ thuộc nhiều vào cả Khách hàng bạn sử dụng và Máy chủ với cổng sẽ sử dụng, nhưng hầu hết trong số họ cũng thương lượng kết nối qua liên kết XMPP Client-to-Server hiện tại của bạn cần cổng mở sẽ được phía khách hàng (hoặc được ủy nhiệm qua cổng 80.)

0

các official ports (TCP: 5222 và TCP: 5269) được liệt kê trong RFC 6120. Trái ngược với những tuyên bố của một previous answer, xếp-0174 does not specify a port. Do đó TCP: 5298 có thể là thông thường cho Link-Local XMPP, nhưng không chính thức.

Bạn có thể sử dụng các cổng khác so với các cổng được đặt trước: Mặc dù: Bạn có thể tạo điểm ghi DNS SRV của mình thành bất kỳ máy và cổng nào bạn muốn.

File transfers (XEP-0234) là những ngày này được xử lý bằng cách sử dụng Jingle (XEP-0166). Điều tương tự cũng xảy ra với RTP sessions (XEP-0167). Tuy nhiên, họ không chỉ định cổng, vì Jingle thương lượng việc tạo luồng dữ liệu giữa các máy khách XMPP, nhưng dữ liệu thực tế sau đó được chuyển bởi các phương tiện khác (ví dụ RTP) thông qua luồng đó (tức là thường không thông qua máy chủ XMPP) chuyển khoản trong băng là có thể). Lưu ý rằng Jingle bao gồm một số XEP, vì vậy hãy đảm bảo xem toàn bộ danh sách XMPP extensions.

Các vấn đề liên quan