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

// client sends
socket.send(datagrampacket);

//Server have
socket.receive (datagrampacket);


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

服务器响应后..
我如何在客户端接收datagrampacket(作为字符串,它可能是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) ) ;

09-25 16:29