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

Java 如何使用DatagramSocket.receive作为字符串显示来自udp服务器的响应?,java,udp,Java,Udp,我在android应用程序中使用了DatagramSocket。我正在从客户端向服务器发送请求。服务器用字符串值1或0进行响应。 我的代码示例如下: // client sends socket.send(datagrampacket); //Server have socket.receive (datagrampacket); 我正在使用日志来显示来自服务器的响应,但我不知道如何显示服务器响应(字符串接收到0或1) 服务器响应后。。 如何在客户端接收datagrampacket(字符串

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

请用标准英语重申你的问题。目前它是不可理解的。我已经尝试通过格式化来帮助它,并使其可读。希望能帮上忙你的问题是什么?错了。您需要考虑DatagramPacket的offset和length属性。@EJP感谢您的提示(以及向下投票,而不是提供正确的答案);我更新了我的答案