日期:2014-05-20  浏览次数:20712 次

新手求问UDP的传输问题
UDP如何传输LIST集合?

我的想法是
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream  oos = new ObjectOutputStream(baos);
oos.writeObject(list);
但下面这句把它写进包的时候需要oos的长度,怎么获取
他需要的oos也是byte[]类型的,直接传oos行不行?
DatagramPacket packet = new DatagramPacket(oos,oos长度,InetAddress.getByName("192.168.58.98"),7000);


或者有其他更好的方法,谢谢告知
------解决方案--------------------
如果List的内容可以格式化为 JSON 串的话,直接传递JSON字符串就好了。

否则仍然是传递字节数组,你没做错了:
byte[] data = baos.toByteArray();
new DatagramPacket(data, data.length, ......


------解决方案--------------------
引用:
如果List的内容可以格式化为 JSON 串的话,直接传递JSON字符串就好了。

否则仍然是传递字节数组,你没做错了:
byte[] data = baos.toByteArray();
new DatagramPacket(data, data.length, ......

++