Forum: Netzwerke
Delphi
by Gimp,
5. Okt 2011
Naja bei mir gab es bisher keine Probleme mehr. Ich habe über 5 offene Clients zusammen rund 5 Millionen Pakete an den Server gesendet, alle sind sie heile angekommen. So lange die Größe des Paketes übermittelt und anschließend überprüft wird ob auch noch genügend Bytes im Buffer verfügbar sind, sollte es ja keine Probleme geben.
Was mich nur nicht so ganz erschließt, ist wie man den Clienten...
Forum: Netzwerke
Delphi
by Gimp,
5. Okt 2011
Mhm, unbedingt auf jedes Paket antworten zu müssen finde ich nicht gerade optimal. Sende ich im Clienten in einer while Schleife ohne Sleep() Pakete, kommen falsche Daten an. Ich denke, der ClientSocket schafft es nicht, die ganzen Daten so schnell zu senden, der Server Part sollte denke ich für einen kleinen Test und weck vom copy pasta Code aus dem Internet soweit in Ordnung sein. Zumindest...
Forum: Netzwerke
Delphi
by Gimp,
5. Okt 2011
Ja danke, die Idee mit dem Protokoll ist perfekt. Ich setze vor jedem Paket nun einen kleinen Header, welcher die id sowie die restliche Größe des Pakets enthält. Die Lese-Position kann so einfach inkrementiert werden und anschließend jedes Paket einzeln verarbeitet werden. ;)
Wie ich in das Erinnerung habe, soll man für jede Frage einen neuen Thread erstellen, ich denke aber das passt hier...
Forum: Netzwerke
Delphi
by Gimp,
4. Okt 2011
Hallo zusammen!
Ich beschäftige mich momentan mit den Komponenten TServerSocket und TClientSocket. Damit alle Daten alle zuverlässig ankommen, erstellt der Server für jeden Client Socket einen neuen Thread. Im Internet habe ich dazu eine nette Lösung gefunden:
procedure TServerThread.ClientExecute;
var
ac, readlen : integer;
fRequest: Array of Byte;
begin
inherited FreeOnTerminate...