2011-07-06 28 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库似乎不支持该标准。