Einzelnen Beitrag anzeigen

Benutzerbild von thkerkmann
thkerkmann

Registriert seit: 7. Jan 2006
Ort: Pulheim Brauweiler
464 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Mein Protokoll für TServerSocket und TClientSocket

  Alt 29. Sep 2007, 19:40
Zitat von Jackie1983:
Denke mal das nur 255 zeichen gesendet werden, oder?

Kümmern die Socket sich selbst um die größe? das heist wird dieser Text
in zwei oder drei Pakete aufgeteilt?
z.b so
Paket 1 COMMAND|langer text......
Paket 2 ....text|parameter|ende
Es wird sicher mehr gesendet. Die Sockets kümmern sich darum schon.

Aber:

wie sieht deine Empfangsroutine aus ?

So etwa sollte das sein:

Delphi-Quellcode:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var
 s: string;
begin
  while Socket.ReceiveLength > 0 do
    s := s + Socket.ReceiveString;

  // jetzt sollte s vollständig sein.
end;
Damit stellst Du sicher, dass die Aufteilung der Daten beim Senden wieder zusammengeführt wird, und längere Datensätze auch vollständig ankommen.
Thomas Kerkmann
Ich hab noch einen Koffer in Borland.
http://thomaskerkmann.wordpress.com/
  Mit Zitat antworten Zitat