Maximální počet Sockets mohou pomocí aplikace

Překlady článku Překlady článku
ID článku: 111855 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Souhrn

Maximální počet soketů podporován konkrétní dodavatele Windows Sockets je specifické pro implementaci. Aplikace by měl provést žádné předpoklady o dostupnosti počet soketů.

Další informace

Podrobnosti implementace rozhraní Windows Sockets jsou popsány v WSAData struktura vrácené WSAStartup() a definovány následovně:
struct WSAData {
     WORD          wVersion;
     WORD          wHighVersion;
     char           szDescription[WSADESCRIPTION_LEN+1];
     char          szSystemStatus[WSASYSSTATUS_LEN+1];
     unsigned short     iMaxSockets;
     unsigned short     iMaxUdpDg;
     char FAR *     lpVendorInfo
};
				
při návratu z WSAStart() na WINDOWSNT
   iMaxSockets = 0x7fff (32767)
				
kde iMaxSockets je maximální počet soketů, které mohou potenciálně otevřít jeden proces. Implementace rozhraní Windows Sockets mohou poskytovat globální fond soketů pro přidělení k libovolnému procesu nebo jej můžete přidělit prostředky proces pro sokety. Číslo může odrážet způsobem, ve které byl konfigurován Windows Sockets DLL nebo síťového softwaru. Číslo lze použít také při psaní aplikací jako označení zda používané implementace rozhraní Windows Sockets aplikací.

Server X Windows může například zkontrolovat iMaxSockets při spuštění. Pokud počet soketů je menší než 8, aplikace zobrazí chybovou zprávu pokynem uživatel znovu nakonfigurovat síťový software. (Toto je situace, ve kterém může být použit text szSystemStatus.) Není zaručeno určité aplikace může ve skutečnosti přidělit soketů iMaxSockets, protože může být v použití jiných aplikací Windows Sockets.

Nezávislý na počtu soketů podporován konkrétní implementace je však problém maximální počet soketů, které aplikace lze použít ve skutečnosti.

Maximální počet soketů, které lze použít aplikace Windows Sockets je určena při kompilaci manifestu konstantní FD_SETSIZE. Chcete-li to provést ze souboru Win32 SDK WINSOCK.H:
/*
 * Select uses arrays of SOCKETs. These macros manipulate such
 * arrays. FD_SETSIZE may be defined by the user before including
 * this file, but the default here should be >= 64.
 *
 * CAVEAT IMPLEMENTOR and USER: THESE MACROS AND TYPES MUST BE
 * INCLUDED IN WINSOCK.H EXACTLY AS SHOWN HERE.
 */ 
#ifndef FD_SETSIZE
#define FD_SETSIZE      64
#endif /* FD_SETSIZE */ 
				
tato hodnota se používá v sestavování struktur fd_set používá select(). Výchozí hodnota v WINSOCK.H je 64. Aplikace je navržen schopný práce s více než 64 sokety, definovat manifestu FD_SETSIZE v každé zdrojový soubor před včetně WINSOCK.H. Způsob z tím jedná zahrnout definice v rámci možnosti kompilátoru makefile jako například přidávání - DFD_SETSIZE = 128 jako možnost kompilátoru příkazového řádku pro Microsoft C.

Poznámka: Definování FD_SETSIZE jako konkrétní hodnota nemá vliv na skutečný počet soketů poskytované implementace rozhraní Windows Sockets.

Vlastnosti

ID článku: 111855 - Poslední aktualizace: 1. listopadu 2006 - Revize: 3.1
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Windows NT Advanced Server 3.1
  • Microsoft Windows NT Workstation 3.1
Klíčová slova: 
kbmt kbnetwork KB111855 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:111855

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com