# Aktuelle Anzahl der verfügbaren TCP/IP Verbindungen



## der_Ben (26. Feb 2009)

Heyho,

ich würde gerne während meines Programmablaufes immer mal wieder die Anzahl der aktuell verfügbaren TCP/IP Verbindungen abfragen. Ist dies irgendwie möglich?

MfG
der Ben


----------



## Ebenius (26. Feb 2009)

Was sind denn "verfügbare TCP/IP Verbindungen"? Du willst alle Established TCP Connections pro Netzwerkadapter wissen? Ich glaub das geht mit blankem Java nicht. Vielleicht kennt ja jemand irgendeine Bibliothek die das kann...

Ebenius


----------



## der_Ben (26. Feb 2009)

Hey,

ich hol einfach mal ein bisschen aus. Ich möchte mit meinem Programm gerne Informationen von verschiedenen Webservern via http abfragen. Und das natürlich auch gerne schnell. Daher lasse ich dies in mehreren Threads laufen. 
Zudem ist es aber möglich, dass einige dieser Server offline sind. Daher habe ich auch ein ConnectTimeout gesetzt.
Und nun kommen wir langsam zur eigentlichen Problematik:
Da bspw. in Windows die Anzahl der TCP/IP Verbindungen limitiert sein soll (von max. 10 habe ich gelesen) wäre für mich die Anzahl der aktuell noch freien Verbindungen wichtig. Denn mein gesetztes ConnectTimeout würde ja auch greifen, wenn nicht der Webserver, sondern eben der User-PC das mit der Verbindung nicht so schnell hingekommt, eben weil das Limit der ausgehenden TCP/IP Verbindungen erreicht ist. 

So weit....


----------



## Ebenius (26. Feb 2009)

Limitiert sind die Verbindungen; ja. Von nur 10 habe ich noch nie gehört. Dann würde ja kein ICQ-Client und kein FileSharing funktionieren... Abfragen kannst Du das Limit meiner Meinung nach in Java nicht. Aber vielleicht irre ich mich.

Ebenius


----------



## Geeeee (26. Feb 2009)

der_Ben hat gesagt.:


> (von max. 10 habe ich gelesen)


Generell gibt es keine Begrenzung, aber ich kann mir vorstellen, dass du das vom "alten" IE her hast. Dort war es standardmäßig so eingestellt, dass man nur 3(?) Connections machen konnte. Besonders auffällig war das Verhalten bei Neuinstallation, wenn man mehrere Sachen parallel laden wollte.
Um das nochmal klarzustellen: Die einzigen, die Connections begrenzen können sind:
1) Server(-programm)
2) Client(-programm)
aber nicht das Betriebssytem (ohne wilde Firewalleinstellungen)


----------



## Ebenius (26. Feb 2009)

Dazu findet sich hier:


> *The truth about the 10-connection limit in some Windows versions*
> 
> The 10 connection limit is a bit misleading: actually this limit does not concern TCP/IP connections. It concerns other network connections (such as file shares, network printer, remote user sessions, etc...). Microsoft's KB 314882 provides information about that.
> 
> Windows XP (even the Home edition) has no limit on the number of inbound TCP/IP connections. Since Abyss Web Server uses only TCP/IP, it can be configured to any number of concurrent connections (provided that your computer has the resources to handle them).



In Windows 2000, XP, 2003 Server wird das Limit durch den Registry-Key bestimmt:
	
	
	
	





```
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
```
Dazu findet sich hier die Beschreibung: TCP/IP and NBT configuration parameters for Windows XP.

```
TcpNumConnections 
Key: Tcpip\Parameters
Value Type: REG_DWORD - Number
Valid Range: 0 - 0xfffffe
Default: 0xfffffe
Description: This parameter limits the maximum number of connections that TCP can have open at the same time.
```

Ebenius


----------



## Geeeee (26. Feb 2009)

Ahh..daher die 10 (und nicht 3  ), gut zu wissen.


----------

