Java 客户端无法从服务器接收UDP数据报
但是,我能够将UDP数据报从客户端发送到服务器并接收它 我无法将数据报从服务器发送回客户端 什么也没发生。 我所看到的是: 服务器端的Hello Server,但我看不到: 你好,客户端的客户端Java 客户端无法从服务器接收UDP数据报,java,datagram,Java,Datagram,但是,我能够将UDP数据报从客户端发送到服务器并接收它 我无法将数据报从服务器发送回客户端 什么也没发生。 我所看到的是: 服务器端的Hello Server,但我看不到: 你好,客户端的客户端 final int PACKETSIZE = 100; //CLIENT byte[] newData = "Hello Server".getBytes(); DatagramPacket newPacket = new DatagramPacket(newD
final int PACKETSIZE = 100;
//CLIENT
byte[] newData = "Hello Server".getBytes();
DatagramPacket newPacket = new DatagramPacket(newData, newData.length, packet.getAddress(), packet.getPort());
// Send it
socket.send(newPacket);
// Set a receive timeout, 2000 milliseconds
socket.setSoTimeout(2000);
// Prepare the packet for receive
packet.setData(new byte[PACKETSIZE]);
// Wait for a response from the server
socket.receive(packet);
// Print the response
System.out.println("RECEIVED MESSAGE FROM SERVER: " + new String(packet.getData()));
//SERVER
int port = Integer.parseInt("1024");
socket = new DatagramSocket(port);
System.out.println("SERVER STARTED ON UDP PORT: " + port);
while (true) {
// Create a packet
packet = new DatagramPacket(new byte[PACKETSIZE], PACKETSIZE);
// Receive a packet (blocking)
socket.receive(packet);
// Print the packet sent from the client
System.out.println(packet.getAddress() + " " + packet.getPort() + ": " + new String(packet.getData()));
// Create a new packet to send back to the client
byte[] newData = "Hello Client".getBytes();
DatagramPacket newPacket = new DatagramPacket(newData, newData.length, packet.getAddress(), packet.getPort());
// Return the packet to the sender (the client)
socket.send(newPacket);
}
让它工作起来。
重复使用同一个数据包