gpt4 book ai didi

java - 服务器未正确读取发送的 UDP 数据包

转载 作者:行者123 更新时间:2023-12-01 13:12:19 31 4
gpt4 key购买 nike

我正在从客户端向服务器发送两个数据包。我遇到的问题是,在服务器上读取的数据使两个字符串对于发送的最长字符串具有相同的长度。例如:

如果字符串 1 为:1234
字符串 2 为:abcdefghi

服务器会读取

1234efghi
abcdefghi

它应该只显示

1234
abcdefghi

我的代码是:

byte[] toSendUser = new byte[1024];
byte[] toSendPass = new byte[1024];

String name = "1234";
String password = "abcdefghi";

toSendUser = name.getBytes();
toSendPass = password.getBytes();
DatagramPacket packSend = new DatagramPacket (toSendUser, toSendUser.length, ipConn, 9876);
connection.send(packSend);

DatagramPacket packSendtwo = new DatagramPacket (toSendPass, toSendPass.length, ipConn, 9876);
connection.send(packSendtwo);

这可能是服务器问题还是我的客户端代码错误?

最佳答案

Java 中的

DatagramPackets 不断缩小到迄今为止收到的最小数据包的大小。您必须为每个 receive() 创建一个新的长度,,或者至少每次在下一个 receive() 之前重置长度。

关于java - 服务器未正确读取发送的 UDP 数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22751659/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com