Einzelnen Beitrag anzeigen

Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#20

AW: Ist der Server zu "schnell"?

  Alt 30. Mär 2011, 10:03
Code:
type
  TForm1 = class(TForm)
  private
    LaengeNaechsteNutzdaten: Integer;
  end;

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var
  Info: TInfo;
begin
  // Gibt es genug, um die Länge auszulesen?
  if (LaengeNaechsteNutzdaten = 0) and (Socket.ReceiveLength >= SizeOf(LaengeNaechsteNutzdaten)) then
    // Dann auslesen
    Socket.ReceiveBuf(LaengeNaechsteNutzdaten, SizeOf(LaengeNaechsteNutzdaten));

  if (LaengeNaechsteNutzdaten > 0) and (Socket.ReceiveLength >= LaengeNaechsteNutzdaten) then
  begin
    // Wenn der Puffer die Länge der Nutzdaten erreicht hat, auslesen
    Socket.ReceiveBuf(Info, LaengeNaechsteNutzdaten);

    // Daten verarbeiten...
    MachWasMitDaten(Info);

    LaengeNaechsteNutzdaten:= 0;
  end;
end;
Weil das TInfo ja immer gleich groß ist, kann man sich den Integer theoretisch auch sparen, aber so müsste es aussehen denke ich...
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"

Geändert von wicht (30. Mär 2011 um 12:06 Uhr) Grund: Bugfix im Code
  Mit Zitat antworten Zitat