Java 服务器未正确读取发送的UDP数据包
我正在从客户端向服务器发送两个数据包。我遇到的问题是,服务器上读取的数据使两个字符串相对于发送的最长字符串的长度相同。例如: 如果字符串1为:Java 服务器未正确读取发送的UDP数据包,java,udp,Java,Udp,我正在从客户端向服务器发送两个数据包。我遇到的问题是,服务器上读取的数据使两个字符串相对于发送的最长字符串的长度相同。例如: 如果字符串1为:1234 字符串2是:abcdefghi 服务器将读取 1234efghi abcdefghi 它应该只是显示 1234 abcdefghi 我的代码是: byte[] toSendUser = new byte[1024]; byte[] toSendPass = new byte[1024]; String name = "1234"; Stri
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中的Datagrampackes
一直缩小到目前为止收到的最小数据包的大小。您必须根据receive(),
创建一个新的receive(),或者至少每次在下一个receive()之前重置长度。
关于Linux和/或Unix的问题在哪里?向我们展示服务器代码。