Comunicação entre Java e C++

Seguinte: Eu tenho um programa em C++ que resolve um problema, e um programa visualizador das instâncias do problema em Java, que atualmente lê os dados de um arquivo. Gostaria agora de fazer o programa em Java receber diretamante os dados do programa em C++ (uma estrutura tipo um vector de inteiros ou simplesmente números em sequência).
Como posso fazer isso de uma forma simples e independente de plataforma?

Sockets, e não se fala mais nisso.

Pesquise sobre JNI, é uma parte do Java que conversa com código nativo.

JNI não é lá muito “independente de plataforma” :stuck_out_tongue:

Correto thingol, não reparei o final da frase.

Obrigada, gente. Estou pesquisando sobre sockets (já tinha pesquisado JNI…)

Depois de aprender sockets, pesquise sobre DataOutputStream e DataInputStream.

Outra coisa: em seu programa C, se você quiser enviar os tais números em binário em vez de ASCII, e se estiver usando alguma máquina onde a ordem dos bytes é diferente da do Java (como é o caso das máquinas Intel ou AMD), é necessário usar htons ou htonl para “inverter” os bytes.

Bom, vc pode usar sockets se vc puder alterar o programa em C, e para manter a parte “independente de plataforma” você vai precisar de uma biblioteca para abstrair essa parte. Conheço uma HawkNL, no google achou uma GNet, enfim, tem várias, é questão de dar uma procurada melhor…

Outro modo seria se você puder usar esse programa em C para, ao invés de escrever em arquivo, escrever na saída padrão, e aí usar essa saída como entrada para o programa em java… mas acho que isso é mais ou menos o que vc já tem hoje

flw