Я пытаюсь написать простую программу о UDP Connections, чтобы узнать о них. Я реализовал некоторые основные вещи, но когда я пытаюсь отправить и вернуть то, что я отправил, но я сталкиваюсь с некоторыми проблемами, такими как
Когда я делаю это;
отправить строку
"asd" на сервер, я получаю обратно asdxxxxxxxxxx
и когда я пытаюсь распечатать то, что я получаю на сервере, я получаю [B @ 5f186fab
Как я могу решить эту проблему?
Чтобы быть более понятным, я посылаю вам несколько строк кода,
В клиенте;
Scanner in = new Scanner(System.in);
String result = in.nextLine();
// send request
byte[] buf = new byte[1000];
String read = result;
InetAddress address = InetAddress.getByName("localhost");
DatagramPacket packet = new DatagramPacket(result.getBytes(), result.getBytes().length, address, 4445);
socket.send(packet);
// get response
packet = new DatagramPacket(buf, buf.length);
socket.receive(packet);
// display response
String received = new String(packet.getData(), 0, packet.getLength());
System.out.println("Quote of the Moment: " + received);
На сервере;
byte[] buf = new byte[1000];
DatagramPacket packet = new DatagramPacket(buf, buf.length);
socket.receive(packet);
byte[] received = packet.getData();
System.out.println(received.toString());
// figure out response
// send the response to the client at "address" and "port"
InetAddress address = packet.getAddress();
int port = packet.getPort();
packet = new DatagramPacket(received, received.length, address, port);
socket.send(packet);
Спасибо всем
РЕДАКТИРОВАТЬ 1 Я думаю, у меня проблемы с буфером, но я не знаю, как решить.