2011-07-06 57 views
4

我想知道是否必須使用套接字或BOSH來實現XMPP客戶端,哪種連接是最好的方式?優缺點都有什麼?我假設兩者都可以支持客戶端與服務器在不同的網絡上?通過HTTP或通過套接字的XMPP

回答

3

我認爲套接字和波什之間最大的區別在於波什使用的HTTP是stateless(連接關閉)與套接字。這意味着您可以在使用BOSH時從瀏覽器內連接到XMPP。我不明白你爲什麼要創建一個BOSH客戶端,因爲strophe.js是一個非常好的bosh客戶端。另外,幾乎所有可用的語言中都已經有套接字實現。如果你問我,那就是關於XMPP的好想法。

1

這當然不是所有優點和缺點的確切列表,而是我在嘗試實現跨網絡加密Openfire連接時遇到的問題。

套接字 一個套接字連接的Pro:支持自動TLS加密。

套接字連接的一個可能的問題:我最近了解到,如果Openfire服務器位於與連接到該服務器的客戶端不同的網絡上,那麼使用套接字連接可能是個問題,在這種情況下,連接到服務器的能力可以處於連接網絡防火牆的支配和通過標準5222套接字端口連接的能力。

HTTP-BIND

的Http-綁定的優點:可以通過使用標準HTTP端口減輕網絡間連接的上述問題。

Http-Bind的一個漏洞:似乎不支持自動TLS加密,而是依賴於「舊SSL」標準進行加密通信,許多XMPP庫似乎不支持該標準。