Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
760 Beiträge
Delphi 11 Alexandria
|
AW: ClientSocket soll viele Server schnell abfragen
19. Aug 2019, 14:20
Schau dir mal die ICSOverbyte WinSock Komponente an.
Alles ist Event gesteuert, nicht blockierend; dein Thread muss also zum Beispiel nach einem Connect Versuch (zu einer deiner Maschinen) nicht darauf warten, bis die Gegenstelle antwortet. Du kannst zu allen 101 Maschinen aufs Mal einen Connect Versuch starten und erhältst später via Ereignisse mitgeteilt, ob eine Session zustande gekommen ist, wenn sich ein Socket Status ändert usw. Es ist also völlig egal, wie lange der Verbindungsaufbau zu einer Machine X dauert: Da nicht darauf gewartet wird, ob und wann X antwortet, wird dein Thread nicht blockiert.
Ich habe mit ICS ein p2p Spiel programmiert: Ein User, welcher sich einloggt erhält eine nicht unbedingt sehr aktuelle Liste von Spielservern. Das Szenario ist also praktisch identisch. Alles läuft in einem Thread. In deinem Fall genügt für die Kommunikation (mit ICS) sicher der Hauptthread.
Michael Gasser
|