我有一个我第一次看到的问题,我正在使用 java DatagramSocket (s) 在我的应用程序中发送和接收数据。
这就是我发送数据的方式:
byte[] buffer = "my data".getBytes();
senderPacket = new DatagramPacket(buffer, 0, buffer.length, remoteAddress, remotePort);
socket.send(senderPacket);
现在,当我发送 byte[] 缓冲区时,它的大小为 275。但是当我在接收应用程序上收到数据包并从 receiverPacket 获取 byte[] 时,如下所示:
buffer = new byte[2048];
receiverPacket = new DatagramPacket(buffer, buffer.length);
socket.receive(receiverPacket);
我发现接收到的字节数为 278 个字节,即额外的 3 个字节。
这似乎不是一个大问题,但实际上对我来说,请知道为什么会发生这种情况,以及如何解决它,任何合乎逻辑的解释都会有所帮助。
谢谢