Java Sockets を使用してクライアント サーバー プログラムを作成しましたが、問題なく動作します。現在、クライアントとサーバー間の通信のために HTTPS に移行しようとしています。
私のコードは Java 組み込みソケット (Socket および ServerSocket) に基づいており、問題なく動作します。しかし、残りのコードを変更せずにHTTPS ソケット ( SSLSocketおよびSSLServerSocket )を使用すると、残念ながら機能しなくなります。
プログラムは、サーバーとクライアントが数分間データを送受信できるようにするために、サーバーとクライアント間の永続的な接続を必要とします。問題は、最初のトランザクションが完了した後、サーバーまたはクライアント側で HTTPS 接続が閉じられたことにあるようです。
より正確に言うと、次のようになります。
1. サーバーは SSLServerSocket を作成し、それに対して「accept()」を呼び出します。
2. クライアントは SSLSocket を作成し、サーバーに接続します。次に、「DataOutputStream」を介してサーバーに書き込みます
。 3. サーバーは、「DataInputStream」を介してクライアントを読み取り、「DataOutputStream」を介して応答を返します。
4. クライアントは「DataInputStream」を介してサーバーを読み取ります。
今まで大丈夫です!しかしその後、クライアントが別のストリームを送信すると、サーバー側では、以前に使用されたのと同じメソッドを介してサーバー上で「available()」されるデータはありません。
この接続を維持する方法はありますか?
Tnx for ur は事前に役立ちます!
質問する
679 次