特定の状況で、アプリに問題があります。
Jetty Web サーバーが組み込まれた Java サーバーと、クライアント側のエア アプリがあります。
正常に動作していますが、特定の顧客の単一の状況です。
彼らは、彼らによって管理されていないプライベート ネットワークを持っています (そして、要求に応じて変更される可能性はほとんどありません)。したがって、許可されるポートは 80 と 443 だけです。
サーバーとクライアント間の通信は、websockets と http を介して行われます。
「オンライン」チェックは http を介して行われ、Websocket を使用してクライアントに通知し、クライアント間の通信を開始します。
問題は、この状況では、「オンライン」状態が適切に機能し、クライアントから送信された通信 (強制) は、http を通過するときにサーバーに到達しますが、サーバーが Websocket を使用してクライアントと通信するときです。動作しません。
通信をチェックするためにwiresharkを使用しています: 動作中のセットアップでは、クライアントアプリが起動すると、サーバー側のwiresharkにWebsocketが表示されます(サーバーにクライアントを登録します)。その後、サーバーからクライアントにのみ使用される Websocket も表示されません。
何が問題になる可能性がありますか? ポート80?(そのネットワークの 443 でも同じことが起こります)。ws:// メッセージをブロックしているプロキシ/ファイアウォールである可能性はありますか? wss:// (暗号化された websockets) が機能することをどこかで読んだことがありますか?
ご協力いただきありがとうございます。
編集して、httpsとwss通信を試してみましたが、同じことが起こりました..クライアントとサーバーの間にwebsocketが設定されていません(サーバーにクライアントを登録しています)。
この状況は、顧客ネットワークの http で発生しています。私のテスト ネットワークでは、http/ws では動作しますが、https/wss では動作しません。