Voce pode usar um protocolo chamado JNI (Java native
Interface) que lhe permite comunicar o Java com programas escritos em C.
Basicamente o que voce faz eh criar classes Java, contendo
metodos abstratos em Java que fariam a leitura da estrutura descrita por voce. A
implementacao real do metodo abstrato seria feita em C.
No site da Sun existe uma boa documentacao de como usar o JNI,
inclusive com programas de exemplo.
[]'s
----- Original Message -----
Sent: Monday, March 10, 2003 12:03
PM
Subject: [java-list] Comunicação C x Java
Pessoal,
Tenho um programa em C que escreve em uma
porta.
Este programa utiliza um protocolo de comunicação
baseado
em estruturas de registro.
Exemplo da estrutura (C++):
struct st_cabecalho { unsigned
char tipo;
unsigned char
acao;
unsigned char
tamanho_corpo[10]; unsigned char
chksum;
unsigned char ip_destino[25]; unsigned
char nomedoarquivo[300]; unsigned char
linhacomando[300]; };
struct st_pacote { unsigned char
tama[4]; struct st_cabecalho stcabec; char
msg[40960]; };
Meu problema é o seguinte:
Já tenho um programa em delphi que le essa estrutura
baseado em record (registros).
type Cabec =
record Tipo: char; Acao:
char; Tama: array[1..10] of char;
chksum: byte; ipdestino: array[1..25] of
char; nomearq: array[1..300] of
char; lcomando: array[1..300] of char;
end;
Pacote = record
Tama: array[1..4] of byte; Cabeca:
Cabec; Corpo: array[1..40960] of byte;
end;
Preciso converter esse programa delphi para Java, só
que estou enfrentando dificuldades
em converter essa estrutura para Java (já que ela não
implementa estrutura de registros).
Alguem tem alguma ideia de como fazer isso, sendo que
naum posso mudar o protocolo
de comunicação que esta escrito em C ?
Obrigado,
Daniel
|