0

Jabber ベースのサーバーを使用して単純なチャット アプリケーションを構築しています。クライアントはポート 5222 経由で接続することが期待されています。しかし、アプリをテストしていたときに、一部のネットワークではアクセスがポート 80 または 8080 のみに制限されていることがわかりました。

私はいくつかの解決策に出くわしました:

a) BOSH を使用しますが、モバイル デバイスでは動作が遅く不安定であることがわかりました。

b) jabber サーバーがポート 80 でリッスンするようにしたらどうなるのだろうと思っていました - (これが何を意味するのかわかりません!)

上記のソリューションに関するあなたの考えを知りたいと思っていました。また、 gtalk 、 fb-chat などの他のチャット アプリケーションのように、私のアプリを普遍的にアクセスできるようにする方法を知りたいと思っていました。

編集:また、私が見逃している可能性のある他のファイアウォール制限はありますか?

4

1 に答える 1

0

HTTPS経由でBOSHを使用します(ポート443 / tcp)。BOSHを適切に実装するのは少し注意が必要ですが、確実に実行できます。別のXMPPライブラリを使用します。

それ以外の場合は、ポート443 / tcpを使用し、Start-TLSではなく、暗号化に使用していた古いスタイルのTLS-handshake-firstメカニズムを使用します。一部のネットワークミドルボックスは、HTTPのように見えない場合、ポート80/tcpのトラフィックを混乱させます。同様に、最初のいくつかのネットワークパケットがSSLまたはTLSハンドシェイクのように見えない場合、一部のミドルボックスは443/tcpでの接続を許可しません。

于 2013-02-13T20:02:13.860 に答える