Welchen Teil vom Soure benötigst du genau, das Projekt ist etwas größer.
......
Daraufhin habe ich den Quellcode angepasst:
Srv.ServerSocketThread.ThreadCacheSize:= ThreadCacheSize; // ThreadCacheSize = 24
.......
Der Client erhält die Fehlernummer 10061.
Ok, hab alles, sehe Du verwendest die TTcpServer Komponente.
ThreadCacheSize:
Vermute hier einmal, dass Du die ThreadCacheSize meinst, und diese irrtümlich mit einer Limitierung der maximal möglichen Verbindungen gleichgesetzt hast.
Dies kann jedoch nicht sein, da ThreadCacheSize nur dafür sorgt, dass bei eingehenden
Clientverbindungen nicht jedes mal sehr kostenintensive Threaderstellungen und Aufräumarbeiten
durchgeführt werden müssen.
Ab Windows XP, Server 2003, und bei allen weiter nachfolgenden Microsoft Betriebssystemen, wurde eine Wurmbremse im Netzwerktreiber der tcpip.sys, implementiert.
Dadurch wird wirksam verhindert, dass gleichzeitig nicht mehr als 10 ausgehende, halboffene Verbindungen (SYN_SENT), für eine bestimmte Applikation (Prozess), möglich sind. Verbindungsanforderungen an Server sind hiervon nicht betroffen, auch nicht ausgehende Verbindungen, die „ein Gegenüber“ (ESTABLISHED) haben.
Dies wird fälschlicherweise sehr oft als Limitierung von Netzwerk Verbindungen interpretiert.
Tatsache ist, dass diese Limitierung, nur für halboffene, ausgehende Verbindungen gilt.
Für Verbindungen zu einem Server, bestehen bei einer Standard
OS Installation, keine Limitierung.
Auch Verbindungsanfragen eines Clients zu vielen bestehenden Servern ist problemlos möglich.
Problematisch sind somit nur Clientanfragen an mehr als 10 Server, die nicht existieren (z.B. Würmer die ganze
IP Ranges durchscannen), „normale Verbindungen“, sind nicht betroffen.
Fehlernummer 10061:
Ja, hier macht die Server Anwendung dicht, vermute mal das sich da was verbröselt.
Also:
1. Server Application mit Prozessmonitor und TCPView abchecken.
2. Die Ini, und Logdateien Schreibereien überprüfen, ob dies unter Win7 funktionieren.
lg.