Struktura WSADATA

Struktura WSADATA ma następującą postać:

struct {WSAData}
 nbsp;  Program WORD wVersion;
    Program WORD wHighVersion;
    char szDescription [WSADESCRIPTIO&N_LEN + 1];
    char szSystemStatus [WSASYSSTATUS_LEN + 1];
    Niepodpisane iMaxSockets krótki;
    Niepodpisane iMaxUdpDg krótki;
    char FAR * lpVendorInfo;
}

Struktury WSADATA jest używany do przechowywania informacji zainicjowanie Windows Sockets zwrócony przez wywołanie funkcji globalnych AfxSocketInit.

Członkowie

wVersion

Wersja specyfikacji Windows Sockets biblioteki DLL Windows Sockets oczekuje rozmówcy do używania.

wHighVersion

Najwyższy wersji specyfikacji Windows Sockets, który może obsługiwać tej biblioteki DLL (również kodowane jak wyżej). Zwykle jest to równoznaczne z wVersion.

szDescription

Ciąg zakończony zerem ASCII do którego biblioteki DLL Windows Sockets kopiuje opis implementacja Windows Sockets, włączając identyfikację dostawcy. Tekst (do 256 znaków) mogą zawierać dowolne znaki, ale dostawców są cautioned przeciwko tym kontroli i formatowanie znaków: najbardziej prawdopodobnym sposobem wykorzystania, że aplikacja będzie to wprowadzone do jest wyświetlanie go (ewentualnie obcięte) Komunikat stanu.

szSystemStatus

Ciąg zakończony zerem ASCII do którego biblioteki DLL Windows Sockets kopiuje informacje stanu lub konfiguracji. Biblioteki DLL Windows Sockets należy użyć tego pola, tylko wtedy, gdy informacje mogą być użyteczne dla użytkownika lub personelu; nie powinny być uważane za jako rozszerzenie pola szDescription.

iMaxSockets

Definiuje maksymalną liczbę gniazd, które potencjalnie można otworzyć pojedynczy proces. Implementacja Windows Sockets mogą przewidywać globalnej puli gniazd alokacji dla każdego procesu; Alternatywnie je przydzielić zasobów na proces dla gniazd. Numer można również odzwierciedla sposób, w jaki biblioteki DLL Windows Sockets lub oprogramowanie sieciowe zostało skonfigurowane. Autorzy aplikacji można użyć tego numeru jako oznaczenie surowych czy implementacja Windows Sockets jest używany przez aplikację. Na przykład serwer X Windows może sprawdzić iMaxSockets przy pierwszym uruchomieniu: jeżeli jest mniej niż 8, aplikacja będzie wyświetlony komunikat o błędzie instrukcją użytkownika ponownie oprogramowanie sieciowe. (Jest to sytuacja, w którym tekst szSystemStatus może być stosowany). Oczywiście nie ma żadnej gwarancji, że określonej aplikacji rzeczywiście można przydzielić iMaxSockets gniazd, ponieważ może być innych używanych aplikacji Windows Sockets.

iMaxUdpDg

Rozmiar w bajtach największy datagramu User Datagram Protocol (UDP), które mogą być wysyłane lub odbierane przez aplikację usługi Windows Sockets. Jeśli wykonanie nakłada żadnych ograniczeń, iMaxUdpDg wynosi zero. W wielu implementacjach gniazd, Berkeley istnieje niejawna limitu 8192 bajtów datagramów UDP, (które są rozproszeni w razie potrzeby). Implementacja Windows Sockets mogą nałożyć limit na podstawie na przykład alokacji buforów ponownego asemblowania fragmentu. Minimalna wartość iMaxUdpDg dla zgodna implementacja Windows Sockets jest 512. Należy zauważyć, że niezależnie od wartości iMaxUdpDg, nie jest wskazane, aby podjąć próbę wysłania datagramu emisji, która jest większa niż maksymalna jednostka transmisji (MTU) dla sieci. (Windows Sockets API nie dostarcza mechanizm do odkrywania MTU, ale musi być nie mniejsza niż 512 bajtów).

lpVendorInfo

Daleko wskaźnika do struktury danych specyficznych dla dostawcy. Definicja ta struktura (jeżeli dostarczone) wykracza poza zakres specyfikacji Windows Sockets. Aby uzyskać więcej informacji, zobacz Windows Sockets programowania zagadnienia w dokumentacji zestawu Win32 SDK.

Uwaga   W MFC, struktura WSADATA jest zwracana przez funkcję AfxSocketInit , która zostanie wywołana w Twojej InitInstance funkcji. Można pobrać strukturą i przechowywać go w programie, jeśli trzeba używać informacji z niego później.

Zobacz też AfxSocketInit

Index