たとえば、サーバー プログラムでファイル転送メカニズムを構築して、送信者 A からユーザー B に 1 つのファイル バイトを送信しようとすると、既存の接続ソケットを利用して、進行中のすべてのチャット ストリームとのインターリーブを回避できます。 、つまり、サーバー側で追加のサーバーソケットを作成することとは別に、この 2 つのスレッド間で明確な待機と通知を維持するために…</p>
どうもありがとうケブ
たとえば、サーバー プログラムでファイル転送メカニズムを構築して、送信者 A からユーザー B に 1 つのファイル バイトを送信しようとすると、既存の接続ソケットを利用して、進行中のすべてのチャット ストリームとのインターリーブを回避できます。 、つまり、サーバー側で追加のサーバーソケットを作成することとは別に、この 2 つのスレッド間で明確な待機と通知を維持するために…</p>
どうもありがとうケブ
さまざまなメッセージ タイプを区別するアプリ用のメッセージ プロトコルを作成します。次に、「ファイルチャンク」メッセージと「チャット」メッセージ、および必要なその他のメッセージを作成します。
擬似コード:
// sending method
public synchronized void send(Message msg) {
// write message to socket ...
}
// receiving method
while(true) {
Message msg = readMessage(); // read message from socket
handleMessage(msg); // may want to push this work to another thread
}