gpt4 book ai didi

Java:从同一UDP端口重复发送或为UDP Socket.send()指定本地端口

转载 作者:行者123 更新时间:2023-12-01 12:45:14 28 4
gpt4 key购买 nike

是否可以在多个 socket.send() 上使用相同的端口或在创建 DatagramSocket 时指定端口?如果是这样怎么办。我正在尝试打洞,需要从所使用的端口进行监听,但我无法更改客户端发送的端口。

try {
DatagramSocket dSocket = new DatagramSocket();
InetAddress serverAddr = InetAddress.getByName(TARGETIP)
int msg_len = currentMsg.length();
byte[] message = currentMsg.getBytes();
DatagramPacket dPacket = new DatagramPacket(message,msg_len,serverAddr,3222);
dSocket.send(dPacket);
updateConversationHandler.post(new systemUIUpdate("UDP Packet from " + dSocket.getLocalPort()));
}
catch (Exception e){
e.getMessage();
e.printStackTrace();
}

每次通过事件处理程序运行时,dSocket.getLocalPort() 都会显示不同的端口。

最佳答案

是的,你可以。根据您想要执行的操作,有两种解决方案:

  1. 如果您想从随机端口但每次都使用同一端口发送数据包,请不要像前面的答案中提到的那样关闭套接字。

  2. 如果您还想选择要发送的端口,请创建 DatagramSocket 为:

    DatagramSocket dSocket = new DatagramSocket(CLIENT_PORT);

关于Java:从同一UDP端口重复发送或为UDP Socket.send()指定本地端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24770120/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com