以下是我的android应用程序java代码:
InetAddress address = InetAddress.getByName("192.168.x.xxx");
int port = xxx;
DatagramPacket p = new DatagramPacket(buffer, buffer.length, address, port);
DatagramSocket ds = new DatagramSocket(port);
ds.receive(p);
Log.d("..........","Packet Received");
Log.d("UDP", "Received: '" + new String(p.getData()).trim() + "'");
我能够接收数据包,但无法以正确的方式解码。另一方面,我发送的数据包的结构(c程序)。我无权更改服务器代码,所以我需要将服务器结构数据包解码为java对象??提前谢谢。
1条答案
按热度按时间lg40wkob1#
Package
byte[]
你从哪里得到的p.getData()
使用bytebuffer。然后使用bytebuffer的get方法来检索相应的值。第一个例子
char
“frametype”你会这样:更多信息请参见bytebuffer文档。