クライアントからの接続を受け入れるサーバー ソケットを作成しました。接続が確立されると、バイトを書き込む OutputStream を使用してイメージが転送されます。私の質問は、すべての画像が正しく転送されない場合があるため、ソケット接続を閉じる前に、OutputStream がバイトの書き込みを終了したかどうかを確認するにはどうすればよいかということです。これは私が使用しているコードです:
File photoFile = new File(getHeader); //getHeader is the file that i have to transfer
int size2 = (int) photoFile.length();
byte[] bytes2 = new byte[size2];
try {
BufferedInputStream buf = new BufferedInputStream(new FileInputStream(photoFile));
buf.read(bytes2, 0, bytes2.length);
buf.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
client.getOutputStream().write(bytes2, 0, size2); //client is the server socket
ありがとう