如何使用DatagramSocket.receive作为字符串显示来自udp服务器的响应?

时间:2013-06-17 10:07:49

标签: java udp

我在android应用程序中使用DatagramSocket。我正在从客户端向服务器发送请求。服务器以字符串值1或0响应。 我的代码示例如下:

// client sends
socket.send(datagrampacket); 

//Server have
socket.receive (datagrampacket);

我正在使用Logging来显示来自服务器的响应,但我不知道如何显示服务器响应(字符串收到0或1)。

服务器响应后

如何在客户端接收datagrampacket(字符串可能是0或1)?

1 个答案:

答案 0 :(得分:1)

socket.receive()将阻止,直到收到数据为止。接收的数据将在datagrampacket字节数组中。

显示它,将字节数组转换为字符串,例如在java中,这将看起来像:

byte[]data=datagrampacket.getData();
int offset=datagrampacket.getOffset();
int length=datagrampacket.getLenght();
System.out.println( new String(data, offset, length) ) ;