Freigeben über


Maximale Anzahl unterstützter Sockets

Die maximale Anzahl von Sockets, die von einem bestimmten Windows Sockets-Dienstanbieter unterstützt werden, ist implementierungsspezifisch. Der Microsoft Winsock-Anbieter beschränkt die maximale Anzahl von Sockets, die nur von verfügbaren Arbeitsspeicher auf dem lokalen Computer unterstützt werden. Allerdings können Winsock-Anbieter von Drittanbietern Einschränkungen für die Anzahl der unterstützten Sockets haben. Eine Anwendung sollte keine Annahmen über die Verfügbarkeit einer bestimmten Anzahl von Sockets machen. Weitere Informationen zu diesem Thema finden Sie unter WSAStartup.

FD_SET und wählen Sie

Eine Reihe von FD_XXX Makros werden in der Winsock2.h Headerdatei für die Verwendung in portieren von Anwendungen zu Windows aus der UNIX-Umgebung definiert. Diese Makros werden mit der auswahl und WSAPoll- Funktionen zum Portieren von Anwendungen zu Windows verwendet. Die maximale Anzahl von Sockets, die eine Windows Sockets-Anwendung verwenden kann, ist von der Manifestkonstante FD_SETSIZEnicht betroffen. Dieser in der Winsock2.h- Headerdatei definierte Wert wird verwendet, um die fd_set Strukturen zu konstruieren, die mit Auswahlfunktion Funktion verwendet werden. Der Standardwert in Winsock2.h ist 64. Wenn eine Anwendung so konzipiert ist, dass sie mit mehr als 64 Sockets mit dem auswählen und WSAPoll--Funktionen arbeiten kann, sollte der Implementor das Manifest FD_SETSIZE in jeder Quelldatei definieren, bevor die Winsock2.h Headerdatei eingeschlossen wird. Eine Möglichkeit hierfür kann sein, die Definition in die Compileroptionen in die Makefile einzuschließen. Sie können beispielsweise "-DFD_SETSIZE=128" als Option zur Compiler-Befehlszeile für Microsoft C++ hinzufügen. Es muss betont werden, dass das Definieren von FD_SETSIZE als bestimmter Wert keine Auswirkungen auf die tatsächliche Anzahl von Sockets hat, die von einem Windows Sockets-Dienstanbieter bereitgestellt werden. Dieser Wert wirkt sich nur auf die FD_XXX Makros aus, die vom und WSAPoll--Funktionen verwendet werden.

fd_set

Portieren von Socketanwendungen zu Winsock

auswählen

Winsock-Programmierüberlegungen

WSAStartup-

WSAPoll-