如何仅从套接字

时间:2018-01-24 05:49:06

标签: java sockets

我从udpserver向java中的客户端发送20个字节的数据。在客户端,我收到这样的

byte[] buf = new byte[25];
final DatagramPacket recv = new DatagramPacket(buf,25);
String data = new String(recv.getData());

当我打印数据时,它正在打印其他内容。我怎样才能获得我的实际数据。请建议。

1 个答案:

答案 0 :(得分:0)

您正在发送20个字节,但您正在分配一个最多可接收25个字节的接收缓冲区。收到的数据报可以更小,但在构造String时需要考虑实际的接收长度,例如:

String data = new String(recv.getData(), 0, recv.getLength());