Arquivos grandes na porta serial

Olá,

Estou desenvolvendo 2 aplicativos em j2se, 1 que rodara num desktop e outro que será embarcado em uma placa que roda linux.

Este dois aplicativos se comunicarão pela porta serial, sendo que o aplicativo embarcado ficara com a porta aberta o tempo todo aguardando e respondendo solicitações do aplicativo desktop.

Só que terei que enviar mensagens de até uns 500kb do desktop para o embarcado e se o envio é feito de uma vez só, ocorre perda de dados.

Decidi então enviar a mensagem em partes ou seja, o desktop envia uma parte e aguarda a resposta de ok do embarcado antes de enviar outra parte e assim por diante.

Minha dúvidas são:

1- É realmente necessário fazer esta quebra de mensagem em partes? ou meu código que está zuado?

2- Se for necessário qual o tamanho das partes para que não haja perda de dados? sendo que quero o menor número possivel de partes.

Obrigado.

[quote=diegogalanti]Olá,

Estou desenvolvendo 2 aplicativos em j2se, 1 que rodara num desktop e outro que será embarcado em uma placa que roda linux.

Este dois aplicativos se comunicarão pela porta serial, sendo que o aplicativo embarcado ficara com a porta aberta o tempo todo aguardando e respondendo solicitações do aplicativo desktop.

Só que terei que enviar mensagens de até uns 500kb do desktop para o embarcado e se o envio é feito de uma vez só, ocorre perda de dados.

Decidi então enviar a mensagem em partes ou seja, o desktop envia uma parte e aguarda a resposta de ok do embarcado antes de enviar outra parte e assim por diante.

Minha dúvidas são:

1- É realmente necessário fazer esta quebra de mensagem em partes? ou meu código que está zuado?

2- Se for necessário qual o tamanho das partes para que não haja perda de dados? sendo que quero o menor número possivel de partes.

Obrigado.

[/quote]

  1. É realmente necessário sim. Você precisa desenvolver um protocolo, ou usar um protocolo já pronto, como o ZMODEM. Acho que até deve haver um monte de implementações.

http://www.omen.com/zmdmev.html

  1. O “tamanho do pacote”, é óbvio, depende da sua velocidade de transmissão e do hardware do transmissor e do receptor e de eventuais erros de transmissão e recepção.
    Protocolos como o ZMODEM ajustam automaticamente o tamanho do pacote para que a transmissão seja feita na maior velocidade possível, sem erros.