Qual é a hierarquia completa do protocolo ao usar Glassfish com IIOP
-
12-12-2019 - |
Pergunta
A configuração é Peixe-vidro 2.1.1 e um cliente independente Java.A conexão é via IIOP.Nosso cliente produz uma enorme quantidade de tráfego no fio e estou tentando descobrir de onde vem.
Pelo que entendi, a hierarquia do protocolo deveria ser semelhante
Ethernet -> IP -> TCP -> GIOP -> CDR
Até o GIOP, isso é o que vejo no Wireshark, mas a carga útil das mensagens GIOP não é clara.
Infelizmente, o Wireshark não disseca a carga útil das mensagens GIOP.Eu pensei que as mensagens GIOP deveriam conter objetos Java serializados com CDR CDR, porque essa é a serialização do Corba.(Afinal, para clientes não Java, eu tive que gerar IDL, para que o CDR deve ser usado em qualquer lugar).
O que vejo no Wireshark são muitos e muitos
XRMI:java.util.Collections\U0024SynchronizedCollection:
seguido por um Hex-String e alguns bytes de dados binários, depois novamente XRMI:.....
A partir disso, suponho que seja RMI e eu tenho rmi sobre IIOP, me dando
Ethernet -> IP -> TCP -> GIOP -> RMI -> Java Serialization
Mas se a carga útil do GIOP for RMI, onde o CDR se encaixa.
Como posso interpretar a carga útil das mensagens GIOP e onde posso encontrar uma especificação para o RMI sobre o IIOP?
Solução
RMI sobre IIOP é apenas CDR sobre GIOP como você fez acima.Não é um protocolo diferente e não usa serialização Java.Seu objetivo é ser compatível com CORBA.