繁体   English   中英

如何通过数据报套接字发送对象

[英]How to send Object over Datagram Socket

我正在某个Android项目上进行尝试,并尝试通过Datagram Socket将对象传递给其他设备。对象包含类的“字符串”数据成员(UserName,Services)..我该怎么做?

在发送方的ByteArrayOutputStream顶部分层ObjectOutputStream。 收集ByteArrayOutputStream中的字节(写入后),然后将其发送到数据报包中。 在接收端进行相反操作以将数据解包回对象。

发送方的伪代码:

final ByteArrayOutputStream baos = new ByteArrayOutputStream(6400);
final ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(o);
final byte[] data = baos.toByteArray();

final DatagramPacket packet = new DatagramPacket(data, data.length);
// Send the packet

通过数据报包进行对象传输

您不能通过nework作为对象发送对象,必须使用此类将其转换为字节数组

  • 的ObjectOutputStream
  • ByteArrayOutputStream

然后通过DatagramPacket类发送它,但是您自己的类应该通过添加实现可序列化的接口进行序列化,如果您查看上面的链接,将会逐步获得更多详细信息,并且会有所帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM