1

私がやっていること: ソケット接続を介したクライアントサーバーファイル転送に関するプログラムを書いています。サーバーは buffered 経由でクライアント コンピューターにファイルを送信しますObjectOutputStreamファイルはバイトごとに送信して送信されています

やりたいこと: 一時停止/キャンセル信号を両端から送信できるようにする。

問題: ファイルがバイトごとに送信されているため、サーバーからクライアントに一時停止/キャンセル信号を送信する方法がわかりません。助けてください。

追加情報: 転送を一時停止またはキャンセルする必要があることを示すためにサーバーからクライアントに整数/バイトを送信すると、クライアント コンピューターがこれらのバイトをファイルの一部として読み取る可能性があるため、混乱するはずです!

4

1 に答える 1

2

これは非効率的である可能性があるため、ObjectOutptuStream は使用しません。一度に 1 バイトを送信するのは非常に非効率的です。

代わりに DataOutputStream を使用します。

いずれにせよ、解決策はほとんど同じです。送信側は、データを送信しないことで一時停止できます。受信者は、送信者がブロックされる原因となるデータを読み取らないことで一時停止する可能性があります。

于 2012-08-31T08:35:58.773 に答える