通过UDP发送RMI存根

时间:2016-04-20 09:46:19

标签: java udp rmi

我希望通过UDP发送RMI存根,只是我不知道如何在发送方上创建新的DatagramPacket,并从接收器上的DatagramPacket.getData()返回的数组中重构存根。例如,我如何可靠地计算数据包的大小?

有人可以帮帮我吗?

谢谢,

欧文。

1 个答案:

答案 0 :(得分:0)

您可以按照以下方式执行此操作:

ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(stub);
oos.close();
byte[] bytes = baos.toByteArray();
DatagramPacket packet = new DatagramPacket(bytes, 0, bytes.length, target, port);
// etc ... send this datagram

并且在接收者处,与此过程相反,我将把这作为读者的练习。

但我的第一个问题是'为什么?'你为什么不像设计师那样使用RMI注册表?还是RMI本身?你这里不需要UDP。

NB RMI存根确实是可序列化的,这是注册表的基础。