Я новичок в java-сокетах, я пытаюсь создать простую UDP-передачу с использованием клиент-сервера. Теперь моя проблема заключается в том, что на сервере выполняется бесконечный цикл и не отправляется клиенту. Извините, если я сделал некоторые глупые ошибки, благодаряjava сокеты UDP двунаправленный с использованием дейтаграммы
Сервер:
import java.net.*;
import java.util.*;
class EchoServer {
public static void main(String args[]) throws Exception {
DatagramSocket socket = new DatagramSocket(54373);
DatagramPacket packet = new DatagramPacket(new byte[512],512);
String temp = "Hello client";
byte[] buffer = temp.getBytes();
while (true) {
socket.receive(packet);
System.out.println("Received from client");
DatagramPacket packet2 = new DatagramPacket(buffer,buffer.length,InetAddress.getByName("127.0.0.1"),54373);
socket.send(packet2);
}
}
}
Клиент:
import java.net.*;
import java.util.*;
class EchoClient {
public static void main(String args[]) throws Exception {
DatagramSocket socket = new DatagramSocket();
socket.setSoTimeout(5000);
byte[] buffer = "Hello Server".getBytes();
DatagramPacket packet = new DatagramPacket(buffer,buffer.length,InetAddress.getByName("127.0.0.1"),54373);
socket.send(packet);
DatagramPacket packet2 = new DatagramPacket(new byte[512],512);
socket.receive(packet2);
System.out.println("Received from server");
}
}
Однако мой сервер может отправить оригинал "пакет" вместо packet2