-1

WAN と LAN 上のサーバー間に永続的な接続が必要です。基本的に、複数のLANサーバーはインターネット上のサーバーに登録し、常に開いた接続を維持する必要があります。これは、LAN上のサーバーを所有するクライアントにポート転送の設定を依頼することはできず、ファイアウォールの問題がある可能性があるためです.

ここでのオプションは何ですか? 私は、Websocket、またはインターネット上のサーバーを長時間ポーリングする LAN 上のサーバーのいずれかを考えています。より良い解決策はありますか?

4

1 に答える 1

1

あなたのオプションは-プロキシとファイアウォールの問題を回避したいことを考慮して-おそらく次のとおりです。

  • ポート 80 または 443 のいずれかの websocket を使用します。
  • ロング ポーリングを使用します (双方向通信が必要な場合は、永続的ではありません!) ポート 80 または 443
  • ポート 80 を使用して、あらゆるデータを http 要求にカプセル化します。
  • SSL 暗号化でポート 443 を使用し、プロトコル レベルで必要なことを行います。通常、このポートを ssl 暗号化で使用する限り、変なカスタム プロトコルを使用しても問題はありません。通常、ファイアウォールもプロキシも、https であると考えているものを感知したときに、ユーザーが何をしているのかを (しようと) 検査しないためです。 .

シナリオを理解する限り、他のすべてはおそらく範囲外ですが、永続的な接続用に作成されたプロトコルでポート 443 を使用して必要なことを実行できるはずです (Websocket では可能ですが、他の問題に遭遇するでしょう)。問題は非常に高速です (ping/pong 実装の欠落など)。コードをカスタムビルドしないと、そもそも websocket を使用する意味がなくなる可能性があります)

于 2013-05-15T16:52:51.630 に答える