0

UDPソケットにリモートマシンアドレスを設定する方法、それは受信者がソケットアドレスを取得している間に返される必要がありますか?

私のコード:

DatagramSocket socket = new DatagramSocket();

packet = new DatagramPacket(new byte[10],10);

packet.setAddress(InetAddress.getByName(hostName));

packet.setPort(portNum);

byte[] data = message.getBytes();

packet.setData(data);

packet.setLength(data.length);

socket.send(packet);
socket.close();

しかし、これは私のローカルアドレスでソケットを作成し、受信者はそのリモートホストアドレスの代わりに私のアドレスを受け取ります。

これに対する解決策は何ですか?

4

1 に答える 1

0

あなたがリクエストを行っているので、あなたのアドレスが応答のために送信されるアドレスになります。リモートマシンに応答を受信させたい場合は、UDP接続(データグラムソケット接続)を自分のマシンではなくリモートマシンで確立する必要があります。

于 2012-09-06T13:06:10.857 に答える