Java 使用DatagramSocket时无法访问端口
我创建了使用UDP传输数据的客户端和服务器软件(由于TCP带宽限制,我们需要使用UDP)。当我在localhost上运行它时,它会按照我想要的方式运行,因此我将服务器应用程序移动到了实际的服务器上,这就是出现问题的时候 经过一个小时的调试和跟踪,会发生以下情况:Java 使用DatagramSocket时无法访问端口,java,networking,udp,datagram,icmp,Java,Networking,Udp,Datagram,Icmp,我创建了使用UDP传输数据的客户端和服务器软件(由于TCP带宽限制,我们需要使用UDP)。当我在localhost上运行它时,它会按照我想要的方式运行,因此我将服务器应用程序移动到了实际的服务器上,这就是出现问题的时候 经过一个小时的调试和跟踪,会发生以下情况: 客户端通过DatagramSocket发送DatagramPack 服务器(计算机)接收它 应用程序从未收到它,也从未发送回正确的数据包 我的操作系统发送回ICMP消息:目标不可访问(端口不可访问) 客户端在端口25055上运行,服
- 客户端通过DatagramSocket发送DatagramPack李>
- 服务器(计算机)接收它
- 应用程序从未收到它,也从未发送回正确的数据包
- 我的操作系统发送回ICMP消息:目标不可访问(端口不可访问)
socket = new DatagramSocket(clientPort);
socket = new DatagramSocket(serverPort);
private void sendPacket() throws Exception
{
packet = new DatagramPacket(data, data.length, address, serverPort);
socket.send(packet);
}
private void receivePacket(int packetSize) throws Exception
{
if(data == null || data.length != packetSize)
data = new byte[packetSize];
packet = new DatagramPacket(data, packetSize);
socket.receive(packet);
}
有人知道为什么会这样吗?任何想法都将受到极大的赞赏。“无法到达端口”意味着在该端口没有接收到任何内容。你把港口弄错了
顺便问一下,第一条线的目的是什么?因为它没有。您能澄清一下您是如何在您的案例中设置“服务器”套接字的吗