Jo, 1024 Threads. Es war für mich auch gleich mal ein Test wieviel Threads ich pro Prozess öffnen kann. Auf meinem Win2000 Rechner (P4 1.5Ghz, 512Mb, T-DSL flat) konnte ich immer nur 2006 Threads erzeugen.
Ok, scanne ich
LocalHost benötige ich ca. 70 Sekunden für alle 65535 Ports, bzw. für die Ports bis 4096 ca. 5 Sekunden.
Scanne ich aber eine
URL im WEB dann benötige ich schon 70 Sekunden für die 4096 Ports.
Bei deinem Portscanner, mit gleicher externer
URL, habe ich nach 5 Minuten abgebrochen, da war er bei Port 13.
So viele Threads sind in diesem Zusammenhang kein wirkliches Problem. Die meiste Zeit legt WinSock im Connect() diese Threads schlafen.
Man könnte auch mit den WSA???Async??? funktionen arbeiten, diese dürften aber auch nicht schneller als die Threads sein, eher resourcenschonend.
Gruß Hagen