UDP に基づくチャット クライアントの作成に取り組んでいます。主な構造は、クライアントが登録するサーバーがあり、クライアントがサーバーに登録されている別のクライアントとの接続を要求できることです。クライアントは、疑似コードを使用した次のような構造です。
public UDPClient() {
// Create datagram socket
// Execute RECEIVE thread using datagram socket above
// Execute SEND thread using datagram socket above
}
アイデアは、送信と受信を別々のスレッドで実行して、受信時にブロックされた I/O を取得しないようにすることです。これらのスレッドはどちらも run メソッド内にループを持っているため、メッセージを継続的に送受信できます。私が抱えている問題はこれです。SEND の実行方法を変更するメッセージが RECEIVE スレッドに届いた場合、これを SEND スレッドに伝えるにはどうすればよいですか? 自分自身にデータグラムを発射する必要がありますか、それともコードでこれを何らかの方法で伝えることができますか?