Javaで学習目的でマルチスレッドデータグラムソケットを作成する際に問題があります。UDP + javaを使用したマルチスレッドアプリケーション
私はテスト目的のために同じIP "localhost"と通信のための異なるポートを持っている2つのスレッドSendとRecieveを生成するServerクラスを持っています。
もう一方の端私は送信ポートから接続データを受信し、サーバーの受信ポートを通じて別のパケットを要求するクライアントクラスを持っています。
私が持っている問題は、私はそれらの両方を実行すると、サーバーがデータを送信し、クライアントはそれが、反対の方向をrecievesことです....
だから、誰が問題になる可能性があるのか分かりません...
SendServer SendThread = new SendServer();
SendThread.run();
RecieveServer RecieveThread = new RecieveServer();
RecieveThread.run();
- :.How私は
は、ここでは、コード2つのスレッドを産卵
の一部だ....それが実行されるかを確認するために、同じマシン上のクライアントとサーバの間の相互通信プロセスを実行することができます送信スレッドで
は私がローカルホストとPORTNOでのDatagramPacketを宣言し、同様に私は、私は2つのポートを備えた2つのソケットを作成し、送信するための1つを使用してクライアント側でいくつかの他のポート番号
とレシーブスレッドのためにそれを行いますその他受信するためのその他の機能があります。
このプログラムのエラーは何ですか...スレッドを1つずつ実行すると、サーバー側で受信できなくなるのですか?
サーバとクライアントが同じマシン上で実行しようとしている場合、それらは異なるポート番号をリッスンする必要があります。..
いいえ@unholysamplerそれが混乱していると思われる場合は申し訳ありませんが、私は送信サーバーとクライアントの受信に同じペアリングを使用しています。逆の場合も同様です... –
@ user506710:まだ不明瞭なので、各ソケットに使用している実際のポート番号。また、私はマルチスレッドと同じポート番号の使用について議論するために私の答えを編集しました。 – unholysampler