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

Responder a