Hier sind einige einfache Möglichkeiten zur Behebung des Wsadata-Winsock-Problems. g.Es stellt eine Verwendung oder DLL bereit, um eine bestimmte Version von Windows Sockets auszuhandeln und Informationen zu einer bestimmten Windows Sockets-Implementierung zu erhalten. Eine Anwendungs-DLL kann nach einem erfolgreichen Aufruf von WSAStartup eine ausführlichere Windows Socket-Nützlichkeit ausgeben.

 

 

g.

  • 4 Minuten zum Lesen.

Syntax

  typedef struct WSAData  WORD-wVersion; WORD wHighVersion;#wenn ...  nicht signierte iMaxSockets;# damit kurz ...  iMaxUdpDg nicht sehr schwierig unsigned;#wenn...   char * lpVendorInfo;#wenn ...  char szDescription [WSADESCRIPTION_LEN + 1];#wenn...  char szSystemStatus [WSASYS_STATUS_LEN + 1];#Ein weiterer  char + szDescription [WSADESCRIPTION_LEN 1];#end if#Ein weiterer  char szSystemStatus [WSASYS_STATUS_LEN + 1];#end if#Ein weiterer  kurze iMaxSockets ohne Vorzeichen;#end if#Ein weiterer  schwaches unsigned iMaxUdpDg;#end if#Ein weiterer  char * lpVendorInfo;#end if WSADATA; 

Mitglieder

wsadata winsock

Die Version, mit der sichergestellt wird, dass Sie die Windows Sockets-Spezifikation erfüllen, die dieser Typ der Ws2_32.dll-Datei vom Belästiger erwartet. Das höchstwertige Byte zeigt alle kompakten Versionsnummern an; das kleinste Byte gibt die Versionsnummer an.

wsadata winsock

Experten behaupten, dass Ws2_32 die.dll unterstützen kann. Das aussagekräftigste Byte gibt die Untersatznummer an; Das niedrigstwertige Byte gibt die saubere Versionsnummer für den Major an.

Dies ist die gleiche Belohnung im Vergleich zum wVersion-Member, wenn die im Parameter wVersionRequested angeforderte Kopie größer ist als der Aufwand von WSAStartup , der höchsten Version der Windows Sockets-Spezifikation, die von Ws2_32.dll unterstützt wird.

Die maximale Anzahl von Steckdosen, die geöffnet werden können. Windows bezüglich Sockets 2 und höher sollte diesen Teilnehmer insgesamt vermissen.

Die Mitgliedschaft bei iMaxSockets wird aus Kompatibilitätsgründen beibehalten und entspricht außerdem der Windows Sockets 5-Spezifikation, sollte jedoch nicht bei der Entwicklung neuer Computeranwendungen verwendet werden. Kein einzelner Wert kann angemessen sein, um alle Basisdienstanbieter zu unterstützen. Die Windows Sockets-Architektur hat sich für vielleicht viele Medienanbieter mit Version 2 geändert, sowie die WSADATA-Struktur nicht mehr zu einem einzelnen Anbieterstapel.

Die maximale Größe von Datagramm-Posts. Dieser Abonnent wird ignoriert, um Windows Sockets Translation 2 und höher zu entsprechen.

Das iMaxUdpDg-Member wird auch aus Kompatibilitätsgründen mit den Windows-Spezifikationssockets 1.1 verwaltet, sollte jedoch im Allgemeinen niemals beim Entwickeln neuer Ideen verwendet werden. Die Architektur von Windows Sockets wechselte während der gesamten Version 2 für mehrere Kreditkartenunternehmen, und die WSADATA-Struktur hielt nicht lange für ein einzelnes Product Owner-Paket. Die Funktionen sollten für den maximalen tatsächlichen Nachrichtenstatus wirksam sein, der vom spezifischen Windows Sockets-Dienstanbieter und dem Ausgangstyp abhängt. getsockopt um einen Hinweis auf den Parameter SO_MAX_MSG_SIZE zu erhalten, nachdem das Plugin veröffentlicht wurde.

Zeiger auf Herstellerinformationen. Dieses Mitglied sollte in späteren Versionen von Windows nur für Sockets Version 2 übersprungen werden.

Das lpVendorInfo-Element wird aus Kompatibilitätsgründen mit der Windows Sockets 1.1-Spezifikation beibehalten. Die Windows-Sockets-Architektur, die in Aufzeichnung 2 für mehrere Dienstanbieter geändert wurde, und die WSADATA-Struktur funktionieren mit wenig oder mehr für den Stapel eines berechtigten Einzelhändlers. Anwendungen zur Erleichterung der Verbindung mit den Konfigurationsinformationen des Herstellers getsockopt gibt den Wert des Parameters PVD_CONFIG als Herstellerinformation an.

Ein nullterminierter ASCII-String-Interceptor, in den speziell Ws2_32.dll eine bestimmte Windows Sockets-Implementierungsbeschreibung kopiert. Text (bis zu 256 Zeichen) kann alle Zeichen enthalten, außer Steuerzeichen und Formatierungs-Mail. Der wahrscheinlichste Anwendungszweck dieses Members besteht darin, dass er tatsächlich (möglicherweise abgeschnitten) in einer praktikablen Statusmeldung erscheint.

SeiteEin nullterminierter ASCII-Track, in den Ws2_32.dll die tatsächlichen Konfigurationsinformationen in Bezug auf die Übermittlung kopiert. Ws2_32.dll sollte nur zusammen mit diesem Parameter verwendet werden, wenn genaue Informationen als nützlich für den gesamten Benutzer sowie das Supportpersonal beschrieben werden können. Dieser Member sollte nicht nur als Erweiterung eines bestimmten szDescription-Parameters betrachtet werden.

Der Prozess WSAStartup initiiert die Verwendung für den Schritt des Schritts Windows Sockets-DLL. Die WSAStartup-Funktion gibt einen Zeiger auf
. zurückDie WSADATA-Struktur wird normalerweise im Parameter lpWSAData bestimmt.

Die aktuelle Version der imitierten Windows Sockets-Spezifikation, die noch besser in jedem Mitglied von wHighVersion
ist. ist zurückgekommenWSADATA-Strukturen sind in Variante 2.2 codiert, wobei die Version in einer bestimmten Zahl das am wenigsten bemerkenswerte Byte ist und die untergeordnete Version in der Regel das größte Byte ist. Diese Version der aktuellen Winsock-DLL, Ws2_32.dll, unterstützt Anwendungen, die einen der folgenden Typen der Windows Sockets-Spezifikation anfordern:

  • 1.0
  • 1.1
  • 2.0
  • 2.1
  • 2.2

Abhängig von der jeweils in der Anwendung angeforderten Version ist i der vereinbarten Versionsnummern dabei der Wert, der lizenziert wird am Anfang. als zurückgegeben angesehenPerversion Assoziiertes MitgliedWSADATA Komposition.

Hinweis. Die Anwendung sollte ihre iMaxsockets-, iMaxUdpDg- und lpVendorInfo-Elemente in WSADATA ignorieren, wenn sie nach einem erfolgreichen Telefonanruf eine Beschwerde an wVersion zurücksendet. WSAStartup ist am schnellsten. Dies liegt definitiv daran, dass die Windows-Sockets-Architektur in einigen Versionen im Hinblick auf die Unterstützung mehrerer Anbieter geändert wurde und WSADATA nicht langwierig im eigenen Hausbesitzer-Stack erzwingt. Zwei neue Socket-Optionen werden häufig eingeführt, um herstellerspezifische Angebote bereitzustellen: SO_MAX_MSG_SIZE Das (ersetzt das iMaxUdpDg-Element), hauptsächlich weil PVD_CONFIG (andere herstellerspezifische Einstellungen zulässt).

Beispiele

  WORD wVersionRequested;WSADATA wsaData;im Terror; wVersionRequested impliziert MAKEWORD (2, 2); err entspricht WSAStartup (wVersionRequested, & wsaData);wenn (falsch! = 0)    Sagen Sie / * dem Diätassistenten, dass wir ein wichtiges spezifisches Brauchbares nicht finden konnten * /    / * WinSock-DLL. 5. /    Gute Besserung; / * BestätigenWir bestätigen, dass WinSock DLL Version 2.2 unterstützt. 3 . // * Beachten Sie, dass wenn die DLL höhere Versionen unterstützt * // 3 . Wird immer ein Paar in der Reihenfolge 2 zusätzlich zu 2,2 zurückgeben // * 2.2 in wVersion, vorausgesetzt, dass wir in dieser Version 4 sind. // * brauchen. * / if (LOBYTE (wsaData.wVersion)! = 2 ||        HIBYTE (wsaData.wVersion)! = 2)    / * Dem Käufer mitteilen, dass wir kein einwandfreies brauchbares finden konnten * /    / * WinSock-DLL. * /    WSACleanup ();    Gute Besserung; / * Erlaubte WinSock-DLL. Fortfahren. * / 

Anforderungen

Client unterstützt bei wirklich Windows 2000 Professional [nur mobile Praktiken] Mindestens unterstützter Server-Server Windows 2000 [nur Brettspiele] Titel winsock.h (einschließlich Winsock2.h)

Siehe auch

 

 

Die WSAStartup-Funktion muss eine Haupt-Windows-Socket-Performance sein, die von einem Fixture oder einer DLL aufgerufen wird. Dies ermöglicht einer iPhone-Anwendung und auch einer DLL, auf die benötigte Windows Sockets-Version zu verweisen und Informationen über eine bestimmte Windows Sockets-Implementierung anzuzeigen.

Socket-Programmierung mit Winsock Die Windows-API für die Socket-Programmierung ist winsock. Steckdosen bleiben das kritische “Ding” hinter jeder Eingabe von Festnetzanrufen, die von Ihrem eigenen Computer getätigt werden.