Einzelnen Beitrag anzeigen

Astat

Registriert seit: 2. Dez 2009
Ort: München
320 Beiträge
 
Lazarus
 
#8

AW: TTCPServer nur 10 Verbindungen

  Alt 9. Okt 2011, 02:20
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.
Lanthan Astat
06810110811210410503210511511603209711003210010110 9032084097103
03211611111604403209711003210010110903210010510103 2108101116122
11610103209010110510810103206711110010103210511003 2068101108112
10410503210310111509910411410510109810111003211910 5114100046
  Mit Zitat antworten Zitat