我想知道是否必須使用套接字或BOSH來實現XMPP客戶端,哪種連接是最好的方式?優缺點都有什麼?我假設兩者都可以支持客戶端與服務器在不同的網絡上?通過HTTP或通過套接字的XMPP
4
A
回答
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庫似乎不支持該標準。
相關問題
- 1. 下載HTTP通過套接字(C)
- 2. 通過套接字
- 3. CORBA經紀人/代理通過HTTP或通過套接字訪問(用於PHP)?
- 4. 通過HTTP或套接字連接與數據庫交互?
- 5. STOMP或XMPP - 通過websocket
- 6. 的Node.js通過套接字
- 7. 通過TCP套接字的Android發送/接收字節[]通過TCP套接字
- 8. 通訊通過套接字連接:
- 9. 通過套接字或http下載圖像
- 10. 通過Java套接字的InterServer通信
- 11. 通過套接字的Java TCP通信
- 12. Rails + Flex通過套接字?
- 13. 獲得通過套接字
- 14. Uimage通過套接字
- 15. 問題通過套接字
- 16. 通過HTTP鏈接
- 17. 通過套接字連接的多個HTTP請求
- 18. 通過Nodejs的TLS套接字連接
- 19. 如何通過JavaScript通過TCP套接字進行通信?
- 20. 中斷通過套接字下載(recv)文件通過套接字
- 21. 通過套接字發送的字符
- 22. 通過iOS上的websocket連接到XMPP?
- 23. 無法通過套接字連接到HTTP服務C
- 24. 如何通過ECPublicKey通過java中的套接字
- 25. 通過套接字連接tomcat
- 26. 通過套接字接收GET請求
- 27. 通過套接字連接Python和Java
- 28. 通過python套接字接收數據
- 29. 通過WiFi連接Java套接字?
- 30. 通過Python中的打開套接字發出HTTP請求