3

我正在处理一些Android项目并试图通过数据报套接字将对象传递给另一个设备对象包含类的“字符串”数据成员(用户名,服务)..我该怎么做?

4

2 回答 2

8

在发送端的 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
于 2012-04-27T23:13:57.270 回答
0

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

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

  • 对象输出流
  • 字节数组输出流

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

于 2014-12-03T11:59:47.507 回答