私はJavaとチャットプログラムを作成しており、TCPとシリアル化可能なオブジェクトを介して通信を行っています。チャットでもファイルを交換できますが、ファイルが大きすぎる場合(ビデオファイル)、ファイルの読み込みとオブジェクトの送信プロセスが完了するまでインターフェイスがフリーズします。ファイルの読み込み中にメッセージを表示する必要があります。これは私のコードです:
File file = jFileChooser1.getSelectedFile();
String name= fichero.getName();
int size = (int)fichero.length();
byte[] byteArray = new byte[size];
try {
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
bis.read(byteArray);
} catch (IOException ex) {
Logger.getLogger(Explorador.class.getName()).log(Level.SEVERE, null, ex);
}
この行「bis.read(byteArray);」の間にメッセージを表示する必要があります。行がインターフェイスがフリーズする理由であると私が信じているので、読んでいます。byteArrayがロードされた後、それをオブジェクトに配置し、ソケット接続を介して送信します。
また、サーバー上でビデオファイルを開き、接続されたクライアントに分割して送信して再生するためだけに、ライブではなくビデオストリーミングが必要です。誰かが私にチュートリアルやヒントを教えてもらえますか?ありがとう。