Cara, n�o tentei implementar a solu��o, mas creio que vc poderia ler de X em X bytes de um input stream, formando os campos do cabe�alho e tal, e depois um "for" para ler o campo msg... Cada campo pode ser um atributo da classe Pacote.

        Eh soh uma sugest�o... o que o resto da lista acha? De repente tem alguma forma de fazer esta convers�o automaticamente (tipo um template, sei lah).

        Rafael Leite
        Sun Certified Programmer for the Java 2 Platform 1.4
        Analista de Sistemas - SAFF
        Softplan/Poligraph
        Sistema da Qualidade Certificado - ISO 9001 - BVQI - INMETRO
        Fone/Fax: 0xx(48) 3027-8000
        http://www.softplan.com.br


At 12:03 10/03/2003 -0300, you wrote:
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