あらゆる種類のポートが閉じられたあらゆる種類のファイアウォールの背後にある世界中に分散されたクライアントから、サーバーから対話型メッセージを取得する必要があるクライアントがいます。信頼できる唯一のものは、HTTP ポート 80 (および HTTPS 443) です。
設計は基本的に XMPP (Jabber プロトコル) をモデルにしており、クライアントと IIS を使用しています。クライアントは .NET ハンドラーに GET 要求を発行します。ハンドラーは、メッセージを探している間、リクエストを開いたままにします。メッセージが到着すると、すぐにクライアントに送信されます。そうでない場合、タイムアウト後、接続は「データなし」応答で閉じられます。クライアントはすぐに通信を再開します。
まあ、理論的には。
実際に何が起こっているかというと、まず、IIS は約 100 を超える同時要求を処理できません。他の要求はすべてキューに入れられており、「接続」とクライアントが呼び出したことを IIS が認識するまでに数分の遅れが生じる可能性があります。次に、約半分の時間です。クライアントはサーバーからの応答なしにタイムアウトします (クライアントのタイムアウトはサーバーのタイムアウトより 5 分長くなります)。
POST は常に機能します。同じ Web サーバーで提供される他のデータは機能します。同じサーバー上の Web サービスが動作します。これは、Windows 2K3 Server ですぐに使用できるインストールです。
不足している構成オプションはありますか、またはこれに対処するために他に確認する必要があるものはありますか?
ありがとう。