クライアントサーバーアプリケーションがあります。サーバーは複数のクライアントからの接続を受け入れます。
クライアントがサーバーに接続された後、クライアントはサーバーにコマンドを送信し、サーバーは応答を送信します。応答は文字列またはファイルのいずれかです。
接続を受け入れた後のサーバー側には、クライアントとの通信を担当するソケット(リスニングソケットとは別)があります。
クライアント側で、クライアントがサーバーにコマンドを送信した後、同じソケットで応答の読み取りを開始します。
今私の問題はファイルにあります、
クライアントがサーバーにコマンドを送信してファイルを要求すると、サーバーはファイルのバイナリデータを送信して応答を開始します。ファイルがすべて正常であれば、正常に転送されますが、ファイル転送の途中でサーバー側で読み取りの問題が発生した場合は、これは1対1のソケット通信であるため、この問題をクライアントに通知する方法はありません...クライアントは、最初に送信されたファイルサイズが完全でなくなるまで、受信データをファイルデータであるかのように扱います。
これは繰り返し発生するパターンである可能性があると確信しています。これを解決するにはどうすればよいですか?