如何在DatagramSocket中绑定远程套接字地址

时间:2012-09-06 12:59:58

标签: java java-ee

如何在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();

但是这会创建一个带有本地地址的套接字,接收者会收到我的地址而不是远程主机地址。

这是什么解决方案?

1 个答案:

答案 0 :(得分:0)

您是发出请求的人,因此您的地址将是为响应提交的地址。如果您希望远程计算机接收响应,则必须由远程计算机建立UDP连接(数据报套接字连接),而不是您自己的。