2013-02-12 41 views
0

我正在使用基于jabber的服务器构建一个简单的聊天应用程序。客户端需要通过端口5222连接。但是,当我测试我的应用程序时,我发现在某些网络中,访问仅限于端口80或8080。如何在构建聊天应用时处理防火墙限制?

我已经跨越了几个解决方案来:

一)使用 - 波什,但发现它是缓慢和片状在移动设备上。

B)我只是想知道,如果我做我的Jabber服务器侦听端口80 - (不知道这将是我想知道上面解决方案的看法,并知道如何这意味着什么)

!使我的应用程序像其他聊天应用程序一样普遍可访问,如gtalk,fb-chat等。

编辑: 另外,是否还有其他防火墙限制可能会丢失?

+1

使用端口80,只是不要尝试在同一台机器上为该端口设置其他任何内容 – 2013-02-12 15:31:31

回答

0

通过HTTPS(端口443/tcp)使用BOSH。让BOSH得到很好的实施有点棘手,但它当然可以完成。使用不同的XMPP library

否则,请使用端口443/tcp,并使用我们用于加密的旧式TLS-handshake-first机制,而不是Start-TLS。如果网络中间盒看起来不像HTTP,那么一些网络中间盒会将端口80/tcp上的流量搞乱。同样,如果前几个网络数据包看起来不像SSL或TLS握手,那么一些中间设备将不允许在443/tcp上进行连接。