我在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) ) ;