当我在字符串上调用getBytes()
方法时,我得到的结果不一致,第一次执行语句时它只返回字符串的前3个字符,如果我再次调用该语句则返回完整字符串,但它也经常随机返回前3个字符。我的服务器类的代码片段如下:
String reply = ("Current list of users includes: " + users);
buf = reply.getBytes();
packet = new DatagramPacket(buf, buf.length, address, port);
socket.send(packet);
在客户端接收端,我有以下内容;
socket.receive(packet);
String response = new String(packet.getData());
System.out.println("ChatClient: Response from Server: " + response);
第一次调用它时所有打印的都是“Cur”,然后第二次调用它时,将打印完整的字符串以及存储在“users”中的值。
反正是否确保第一次以正确的方式正确运作?