私はクライアント/サーバ通信にUDPを使用していますが、クライアントがパケットを受信してからサーバがパケット応答を送信しますが、サーバが応答を送信すると、サーバは応答を受信しますクライアント。UDPパケットをクライアントに送信するとき、サーバーは代わりに送信したパケットを受信しますか?
私は1つのプロセスで実行されているサーバーオブジェクトと、別のプロセスで実行されていてローカルホストに接続しているクライアントオブジェクトを持っています。クライアントとサーバーの両方がAbstractHostから継承します。 AbstractHostにはSenderオブジェクトとReceiverオブジェクトがあります。 Receiverには、パケットが入ってくるまで受信(ブロッキング)しているスレッドがあり、パケットが入ったときにパケットデータがClient/Serverの "onReceive"機能に渡されます。それは、サーバーがパケットを送信し、サーバーがパケットを受信して、それが別のパケットなどを送信させるパケットを受信する無限ループを引き起こしています。
私は同じコンピュータ上でそれをやっていますが、テスト目的のために私はこれが働くために必要です。
コード:ペーストビンを使用してhttp://pastebin.com/raw/jhX98Jhp stackoverflowsコードのフォーマットが私のために
私は最初に次の問題があったので、明確にするだけです。クライアントはサーバーにパケットを送信します。サーバーは応答パケットを送信しますが、クライアントに送信するのではなく、クライアントに送信します。 –
* "スタックオーバーフローのためにpastebinを使用すると、コードのフォーマットが決してうまくいかない" * - 他の人にも役立ちます。あなたはそれを使用する方法を学ぶ必要があります。ヒント:TAB文字を取り除く。 –