Einzelnen Beitrag anzeigen

romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.164 Beiträge
 
Delphi 10 Seattle Professional
 
#1

ServerSocket/ClientSocket: nicht alle Pakete kommen an???

  Alt 13. Sep 2005, 11:26
Hallo!

Ich habe mehrere Threads in meinem Programm, die bestimmte Informationen aus dem Internet sammeln und diese dann in eine Liste hinzufügen. Einen anderen Thread prüft ständig, ob die Daten in der Liste vorhanden sind und versendet diese über TServerSocket an alle verbundenen Clients. Das Problem ist, dass von 50 gesendeten Datensätzen nur 15-20 den Ziel erreichen. Woran kann das liegen?

Gesendet wird so:

Delphi-Quellcode:
  for i := frmMain.ServerSocket1.Socket.ActiveConnections - 1 downto 0 do
  frmMain.ServerSocket1.Socket.Connections[i].SendText(TextToSend);
Empfangen wird so:

Delphi-Quellcode:
procedure Tm_w.ClientRead(Sender: TObject; Socket: TCustomWinSocket);
var
Data: string;
begin
Data := RestData + Socket.ReceiveText; //RestData wird global deklariert
RestData := '';
  while Pos(#13#10, Data) > 0 do
  begin
    ListBox1.Items.Add(Copy(Data, 1, Pos(#13#10, Data) - 1);
    Delete(Data, 1, Pos(#13#10, Data) + 1);
  end;
  if Length(Data) > 0 then RestData := Data;
end;
  Mit Zitat antworten Zitat