Ver Mensaje Individual
  #1  
Antiguo 02-03-2007
Gagiel Gagiel is offline
Miembro
 
Registrado: ene 2007
Posts: 27
Reputación: 0
Gagiel Va por buen camino
Rececpción de buffer incerrecta ?¿

Hola

Tengo una aplicación que recibe un buffer proviniente de la red i trata el string en una base de datos.
Las comunicaciones funcionan correctamente.
El problema es la recepción de la cadena de caracteres.
Me explico; el trozo de codigo donde se trata la cadena es el siguiente:
Código:
procedure ServerReceive(ID: integer; Buffer: ETCPBuffer; Size: integer);
var Recepcio : string[255];
var Correcte : integer;
var i : integer;
var Enviar : string[3];
var Client : string[255];
var Ip : String[255];
begin
  Enviar:= 'ACK';
  move(Buffer[0], Recepcio, Size);
  Delete(Recepcio, 17, Length(Recepcio)-16);
Al final me sale un string con la información que quiero.
El problema esta en que si yo desde local envio:
1234567890123456
recibo
1234567890123456
en cambio si envio desde la red:
1234567890123456
lo que recibo(O el programa lee) es lo siguiente:
234567890123456
Es decir "se come" el primer caracter, lo he probado con un cliente hardware, uno de software de delphi otro de Visual Basic i siempre pasa lo mismo. Tengo un servidor parecido hecho en Visual Basic i no pasa, por lo que creo que es problema de mi Buffer que elimina el primer caracter....
Sabeis como se puede arreglar? ya que me está trayendo de cabeza porqué no logro entender el porqué en local si que funciona i en remoto se come el caracter.

Gracias!

Saludos.
Responder Con Cita