了解GIOP网络包

Understand GIOP network packet

问题

我想详细了解一个 GIOP (CORBA) 数据包,但我对 ServiceContextList 部分感到吃力。特别是我不知道一个 ServiceContext 的长度。

例子

我创建了一个 IDL 文件如下:

module AdditionApp
{
  interface Addition
  {
    long add(in long a,in long b);
    oneway void shutdown();
    };
};

然后我创建了一个客户端服务器应用程序,从客户端调用 add(5,6) 并从服务器得到回复 11。我将与 tcpdump 的通信转储到一个文件中。下图为回复消息的部分内容:

绿色部分我看得清楚,红色部分我看不清楚。如上所述,我完全不清楚哪些字节显示一个 ServiceContext 的长度。谁能给我提示?

通过将 CORBA 互操作性规范中提供的信息与 Wireshark GIOP 解析器实现相关联,我能够得出以下结论: Decoded reply header and body