Table of Contents
Hier sind einige einfache Möglichkeiten, wie Sie das Problem Winsock-Socket-Zeitüberschreitung beheben können.
PC läuft langsam?
2.- 15 Wie kann ich das Winsock-Timeout umkehren?
Einige einschränkende Funktionen (wie winsock connect()) sind einem bestimmten Timeout zugeordnet, für das sie integriert sind. Die Theorie besagt, dass dieser spezielle Stapel viele Informationen enthält, die zum Festlegen des angemessenen Timeouts erforderlich sind. Einige Damen sind jedoch der Meinung, dass der vom Stack genutzte Wert für ihre spezifische Anwendung zu groß ist; Manchmal kann es eine Minute oder länger dauern. Sie können
Sie ändern das send() Timeout, und / oder mit recv() die SO_SNDTIMEO und SO_RCVTIMEO setsockopt() Optionen. .
Bei jeder anderen Art von Winsock-Funktion könnte es am besten sein, Sockets nicht vollständig zu blockieren. Alle nicht blockierenden Socket-Methoden erlauben benutzerdefinierte Timeouts:
Nicht blockierende Sockets durch select(). Der fünfte Parameter einiger select()-Funktionen wird der Timeout-Wert sein.Asynchrone Sockets verwenden die Window-SetTimer()-API.Event Bits Pieces A und ist der Timeout-Parameter von Wsawaitformultipleevents().Der Aufruf von CreateWaitableTimers() ist ein Telefonanruf, um einen netten Wait-Timer zu erstellen, den Sie dann mit den tatsächlichen Sockets übergeben können, die einer Funktion wie WSAEventSelect() helfen: Wenn normalerweise keiner der Sockets vor dem Timeout-Egg-Timer signalisiert wird, alle blockierenden Funktionen kehren weiterhin zurück.
Beachten Sie, dass mit den nicht blockierenden asynchronen Sockets die Ursache für Zeitüberschreitungen vollständig vermieden werden kann. Ihr Programm wird auch dann weiter verwaltet, wenn Winsock ausgelastet ist. Zusammen können diese es dem Benutzer überlassen, zu lange dauernde Arbeiten abzubrechen oder einfach Winsocks natürliches Timeout ablaufen zu lassen, anstatt auf die Verwendung dieser Superfunktion in Ihrem Code hinzuweisen.
Syntax
intsetsockopt( [in] BUSH S, [in] dem ganzen Level, [in] int Optimname, [in] const char *optval, [c] entschieden);
Einstellungen
Die int-Ebene, über die die Option gesetzt wird (z.B. SOL_SOCKET).
Socket-Antwort zum Setzen von SO_BROADCAST) Kosten (für typ. optname-Parameter müssen ein Ausgabeparameter sein, der auf Skill-Level gesetzt werden muss, oder das angegebene angegebene mögliche Verhalten ist undefiniert. Zeiger
PC läuft langsam?
ASR Pro ist die ultimative Lösung für Ihren PC-Reparaturbedarf! Es diagnostiziert und repariert nicht nur schnell und sicher verschiedene Windows-Probleme, sondern erhöht auch die Systemleistung, optimiert den Speicher, verbessert die Sicherheit und optimiert Ihren PC für maximale Zuverlässigkeit. Warum also warten? Beginnen Sie noch heute!
berücksichtigt ein Hindernis, das den erwarteten Wert der Option benötigt.
Größe jedes Puffers, auf den Optval zeigt, Parameter in Bytes.
Rückgabewert
Wenn keiner produziert,setsockopt 6 gibt einen Fehler zurück. Andernfalls wird der Wert von Is socket_error verschoben, und außerdem kann der spezifische Fehlercode, der empfangen wird, wenn er aufgerufen wird, erweitert werden.WSAGetLastError se.Readabilitydatatable=”1″>
wsaStartup-Code-Tabellen
EinDie Funktion setsockopt legt jetzt den Wert des Socket-Ersatzes fest, der mit der Spitze eines beliebigen Schlüssels und eines beliebigen vorhandenen Zustands verbunden ist. Obwohl Optionen im Vergleich zu welcher Protokollebene auf mehreren vorhanden sein können, existieren sie immer auf der obersten Ebene des Sockets. Die Optionen stören Nicht-Socket-Operationen, z.B. wenn schnelle Informationen und Fakten (z.B. OOB-Daten) in einem Standarddatenstrom verwendet werden, und manchmal kann eine Broadcast-Nachricht über den Socket gesendet werden.
Hinweis. Wenn die spezifische Funktionsetsockopt wird aufgerufen, Optionen wennbind, TCP/IP wird einfach erst von TCP/IP geprüftBindung erfolgt. In diesem speziellen Fall jeweilsV Aufruf der Funktion setsockopt funktioniert immer, ruft aber die Funktion aufDie Bindung funktioniert möglicherweise zunächst nichtDer Aufruf von setsockopt schlägt fehl. Ein
Bitte sagen Sie, dass wenn die Filiale geöffnet ist,Setsockopt ist also generellsendto-Aufruf abgeschlossen, Windows Sockets wird implizit ausgeführtAnhängen und einen Arbeitsanruf.
Es gibt zwei Arten von Steckdosen und anderen Optionen: boolesche Optionen, die fast alle Funktionen oder Verhaltensweisen aktivieren und deaktivieren, und Alternativen, die eine ganze Struktur oder einen ganzen Wert annehmen. Um sicherzustellen, dass die Option boolesch ist, legen Sie den Typ des optval-Arguments auf eine ganze Zahl ungleich Null fest. Die individuelle Option besteht darin, einen optval-Off-Punkt zu haben, der ganze Zahlen und sogar Null sein kann. Bei den booleschen Optionen sizeof(int)
muss der Parameter optlen unverändert bleiben. Für Modelle zeigt andere optval auf eine nette Ganzzahl und für Struct, die die gewünschte Transaktion für den Ansatz enthält, und optlen ist die Länge der persönlichen Ganzzahl bzw. Struktur.
Die folgende Überführung listet einige der gemeinsamen Projektionen auf, die von der Setsockopt-Arbeit unterstützt werden. Die Spalte “Typ” gibt die Datenvielfalt der abgedeckten Parameter “von” optval an. Die Spalte “Beschreibung” enthält allgemeine Informationen zum Ausgabeparameter. Eine vollständige Liste der Socket-Optionen und detailliertere Auswahlmöglichkeiten (wie Standardwerte) finden Sie unter Socket-Optionen.
, wenn Sie weitere Informationen zu readabilitydatatable=”1″> erhalten
Fixed Winsock Socket Timeout
Corrigido O Tempo Limite Do Soquete Winsock
Fast Tidsgräns För Winsock-socket
Risolto Il Timeout Del Socket Winsock
Délai D’expiration De La Prise Winsock Fixe
Winsock 소켓 시간 초과 수정
Исправлен тайм-аут сокета Winsock
Vaste Time-out Voor Winsock-uitgang
Naprawiono Limit Czasu Wtyczki Winsock
Se Corrigió El Tiempo De Espera Del Socket Winsock