我想知道如果我必须实现一个XMPP客户端,哪种连接是最好的方式,使用socket还是BOSH?好处和坏处是什么?我假设两者都可以支持客户机在不同的网络上而不是服务器上?
发布于 2011-07-07 21:23:46
我认为socket和bosh之间最大的区别是bosh使用的是HTTP,这是stateless(连接关闭)与socket。这意味着您可以在使用BOSH时从浏览器中连接到XMPP。我不明白你为什么要创建一个BOSH客户端,因为strophe.js是一个非常好的bosh客户端。此外,几乎所有可用的语言中都有一个套接字实现。这就是XMPP的优点,如果你问我的话。
发布于 2011-07-08 23:06:55
这当然不是所有优点和缺点的权威列表,而是我在尝试实现跨网络加密Openfire连接时遇到的。
插座连接的 Socket One Pro :支持自动TLS加密。
套接字连接的一个可能的缺点:我最近了解到,如果Openfire服务器与连接到该服务器的客户端位于不同的网络上,则使用套接字连接可能是一个问题,在这种情况下,连接到服务器的能力可能取决于连接网络防火墙和通过标准5222套接字端口进行连接的能力。
超文本传输协议-绑定
Http -Bind的优点:通过使用标准的Http端口可以缓解上述网络间连接的问题。
Http-Bind:的一个缺点似乎不支持自动TLS加密,而是依赖于加密通信的“旧SSL”标准,而许多XMPP库似乎不支持这一标准。
https://stackoverflow.com/questions/6601801
复制相似问题