1

设置是Glassfish 2.1.1和 Java 独立客户端。通过IIOP进行连接。我们的客户在网络上产生了大量的流量,我正试图找出这些流量的来源。

据我了解,协议层次结构应如下所示

Ethernet -> IP -> TCP -> GIOP -> CDR

直到 GIOP,这是我在 Wireshark 中看到的,但 GIOP 消息的有效负载尚不清楚。

不幸的是,Wireshark 没有剖析 GIOP-Messages 的有效负载。我认为 GIOP 消息应该包含用 CORBA CDR 序列化的 Java 对象,因为那是 CORBA 序列化。(毕竟对于非 Java 客户端,我必须生成 IDL,所以 CDR 应该在任何地方使用)。

我在 Wireshark 中看到的是很多很多

XRMI:java.util.Collections\U0024SynchronizedCollection:

接着是一个十六进制字符串和几个字节的二进制数据,然后是 XRMI:.....

从这里我想它是 RMI,我在 IIOP 上有 RMI,给了我

Ethernet -> IP -> TCP -> GIOP -> RMI -> Java Serialization

但是,如果 GIOP 有效负载是 RMI,那么 CDR 适合哪里。

如何解释 GIOP 消息的有效负载,在哪里可以找到 RMI over IIOP 的规范?

4

1 回答 1

2

如上所述,基于 IIOP 的 RMI 只是基于 GIOP 的 CDR。它不是一个不同的协议,它不使用 Java 序列化。它的全部目的是与 CORBA 兼容。

于 2012-07-27T22:04:32.223 回答