Recebimendo de msg via Sockets

Delphi

15/09/2005

Seguinte...tenho duas aplicacoes que ficam se comunicando atraves do Server e Clientesocket... a aplicacao servidor solicita entao a cliente uma listagem dos softwares instalados e o cliente gera uma string e envia com o sendtext().


Bom ...o problema é que o tamanho da string é de 6602 caracteres e na hora de receber no servidor...ela msg esta vindo quebrada. E aciona o evento de recebimento do servidor duas vezes sendo uma com 2222 caracteres e outra com 4380 e gostaria de saber se tem como ele envia sempre inteira..para receber sempre 6602 como acontece algumas vezes...


Obrigado pela atencao...


Xanatos

Xanatos

Curtidas 0

Respostas

Massuda

Massuda

15/09/2005

...gostaria de saber se tem como ele envia sempre inteira...
Não. Isso é característica do protocolo TCP/IP; ele garante que, se os dados chegarem no destino, eles chegarão na ordem correta, mas não garante que eles chegarão todos de uma vez. O fato de as vezes chegar de uma vez ou não está relacionado com a parte física da sua rede.

Você deve estar preparado para essa situação. Normalmente, usa-se algum tipo de protocolo que inclui um indicador de final dos dados, assim você sabe quando o outro lado terminou a transmissão.


GOSTEI 0
Xanatos

Xanatos

15/09/2005

Valeu Massuda...eu ja tava mesmo usando um final de msg para todas que sao enviadas do cliente... eu coloquei ´#.´ para marcar o final e agora qdo ele manda só um pedaco eu guardo em um vetor de conexoes que armazena as mensagens incompletas ...


Valeu pelas informacoes....


GOSTEI 0
POSTAR