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

man*_*nas 2 java sockets android datagram

我正在研究一些Android项目并尝试将对象通过Datagram Socket传递给另一个设备对象包含'String'数据类的成员(UserName,Services)..我该怎么做?

Per*_*ion 6

在发送端的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
Run Code Online (Sandbox Code Playgroud)