我有一个DatagramSocket
,希望使用char[] charData = { 0xff, 0x04, 0x02, 0xfb}
通过DatagramSocket
发送DatagramPacket
个数据。
DatagramPacket使用byte[]
作为数据。但我应该像charData
变量一样发送它。
有什么建议吗?
答案 0 :(得分:1)
我解决了这个案子。我只是做"ff0402fb".getbytes
及其工作。
答案 1 :(得分:0)
你可以使用ObjectOutputStream和ByteArrayOutputStream:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(charData);
byte[] toSend = baos.toByteArray();
oos.close();
baos.close();
int port = xxxx;
DatagramPacket p = new DatagramPacket(toSend,toSend.length,InetAddress.getByName("host"),port);
DatagramSocket s = new DatagramSocket();
s.send(p);