Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die linger-Struktur verwaltet Informationen zu einem bestimmten Socket, die angeben, wie sich dieser Socket verhalten soll, wenn Daten gesendet werden sollen und die Closesocket-Funktion für den Socket aufgerufen wird.
Syntax
typedef struct linger {
u_short l_onoff;
u_short l_linger;
} LINGER, *PLINGER, *LPLINGER;
Member
l_onoff
Typ: u_short
Gibt an, ob ein Socket nach einem Aufruf der Closesocket-Funktion für eine bestimmte Zeit geöffnet bleiben soll, um das Senden von Daten in die Warteschlange zu ermöglichen. Dieser Member kann über einen der folgenden Werte verfügen.
| Wert | Bedeutung |
|---|---|
|
Der Socket bleibt nicht geöffnet. Dies ist der festgelegte Wert, wenn die setockopt-Funktion aufgerufen wird, wobei der optname-Parameter auf SO_DONTLINGER und der optval-Parameter null ist.
Dieser Wert wird auch festgelegt, wenn die setockopt-Funktion aufgerufen wird, wobei der optname-Parameter auf SO_LINGER festgelegt ist und die im optval-Parameter übergebene linger-Struktur den l_onoff Member auf 0 festgelegt hat. |
|
Der Socket bleibt für eine bestimmte Zeit geöffnet. Dieser Wert wird festgelegt, wenn die setockopt-Funktion aufgerufen wird, wobei der optname-Parameter auf SO_DONTLINGER festgelegt ist und der optval-Parameter ungleich null ist.
Dieser Wert wird auch festgelegt, wenn die setockopt-Funktion aufgerufen wird, wobei der optname-Parameter auf SO_LINGER festgelegt ist und die im optval-Parameter übergebene linger-Struktur den l_onoff Member auf einen Wert ungleich null festgelegt hat. |
l_linger
Typ: u_short
Die Verweilzeit in Sekunden. Dieser Member gibt an, wie lange nach einem Aufruf der Closesocket-Funktion geöffnet bleiben soll, um das Senden von Daten in der Warteschlange zu ermöglichen. Dieser Member ist nur anwendbar, wenn das l_onoff Member der linger-Struktur auf einen Wert ungleich 0 (null) festgelegt ist.
Dieser Wert wird festgelegt, wenn die setockopt-Funktion aufgerufen wird, wobei der optname-Parameter auf SO_LINGER festgelegt ist. Der optval-Parameter , der an die setockopt-Funktion übergeben wird, muss eine linger-Struktur enthalten, die in die interne linger-Struktur kopiert wird, die für den Socket verwaltet wird.
Hinweise
Der l_onoff Member der linger-Struktur bestimmt, ob ein Socket nach einem Aufruf der Closesocket-Funktion für eine bestimmte Zeit geöffnet bleiben soll, um das Senden von Daten in die Warteschlange zu ermöglichen. Etwas verwirrend ist, dass dieses Element auf zwei Arten geändert werden kann:
- Rufen Sie die setockopt-Funktion auf, wobei der optname-Parameter auf SO_DONTLINGER festgelegt ist. Der optval-Parameter bestimmt, wie der l_onoff-Member geändert wird.
- Rufen Sie die setockopt-Funktion auf, wobei der optname-Parameter auf SO_LINGER festgelegt ist. Der optval-Parameter gibt an, wie sowohl die member l_onoff als auch l_linger geändert werden.
Der l_linger Member der linger-Struktur bestimmt, wie lange ein Socket in Sekunden geöffnet bleiben soll. Dieser Member ist nur anwendbar, wenn das l_onoff Member der linger-Struktur ungleich null ist.
Damit ein Socket geöffnet bleibt, sollte eine Anwendung den l_onoff Member auf einen Wert ungleich null festlegen und den l_linger Member auf das gewünschte Timeout in Sekunden festlegen. Damit ein Socket nicht geöffnet bleibt, muss eine Anwendung nur den l_onoff Member der linger-Struktur auf 0 (null) festlegen.
Wenn eine Anwendung die setockopt-Funktion aufruft , wobei der optname-Parameter auf SO_DONTLINGER festgelegt ist, um den l_onoff-Member auf einen Wert ungleich Null festzulegen, wird der Wert für den l_linger-Member nicht angegeben. In diesem Fall ist das verwendete Timeout von der Implementierung abhängig. Wenn ein vorheriges Timeout für einen Socket festgelegt wurde (durch Aktivieren von SO_LINGER), sollte dieser Timeoutwert vom Dienstanbieter wiederhergestellt werden.
Beachten Sie, dass das Aktivieren eines Timeouts ungleich Null für einen nicht blockierenden Socket nicht empfohlen wird.
Die getsockopt-Funktion kann aufgerufen werden, wobei der optname-Parameter auf SO_LINGER festgelegt ist, um den aktuellen Wert der einem Socket zugeordneten linger-Struktur abzurufen.
Anforderungen
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
| Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
| Kopfzeile | winsock2.h (Winsock2.h einschließen) |
Weitere Informationen
Ordnungsgemäßes Herunterfahren, Verweilen und Schließen des Sockets