buf = string.getbytes()结果不一致

时间:2012-07-23 16:44:14

标签: java sockets udp client-server

当我在字符串上调用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”中的值。

反正是否确保第一次以正确的方式正确运作?

0 个答案:

没有答案