我有一个使用数据报套接字交换消息的服务器客户端应用程序。我最初将缓冲区大小设置为 1024 字节,因为我不知道消息的长度。当我发送小于 1024 字节的内容时,我的字符串的其余部分显示为一些奇怪的字符(空字符或者我不确定它们是如何被调用的)。这是一个屏幕:
客户端代码:
byte[] buf = ("This is another packet.\n").getBytes();
DatagramPacket packet = new DatagramPacket(buf, buf.length, inetAddress, serverport);
socket.send(packet)
服务器代码:
byte[] buf = new byte[1024];
DatagramPacket packet = new DatagramPacket(buf, buf.length);
socket.receive(packet);