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 angibt, wie sich dieser Socket verhalten soll, wenn Daten gesendet werden sollen und die Closesocket-Funktion im 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 Wert, der festgelegt wird, wenn die setockopt-Funktion aufgerufen wird, wobei der optname-Parameter auf SO_DONTLINGER festgelegt ist und der optval-Parameter 0 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 nonzero 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 Nonzero-Wert festgelegt hat. |
l_linger
Typ: u_short
Die Verweilzeit in Sekunden. Dieses Element 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. Dieses Element ist nur anwendbar, wenn das l_onoff Member der linger-Struktur auf einen Wert ohne Zero 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 der 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 l_onoff - als auch l_linger-Member geändert werden.
Das l_linger Member der linger-Struktur bestimmt, wie lange ein Socket in Sekunden geöffnet bleiben soll. Dieses Element ist nur anwendbar, wenn das l_onoff Member der linger-Struktur nichtzero ist.
Damit ein Socket geöffnet bleibt, sollte eine Anwendung den l_onoff-Member auf einen Nichtzero-Wert festlegen und den l_linger-Member auf das gewünschte Timeout in Sekunden festlegen. Um zu deaktivieren, dass ein Socket geöffnet bleibt, muss eine Anwendung nur den l_onoff Member der linger-Struktur auf 0 festlegen.
Wenn eine Anwendung die setockopt-Funktion aufruft , wobei der optname-Parameter auf SO_DONTLINGER festgelegt ist, um das l_onoff-Member auf einen nonzero-Wert festzulegen, wird der Wert für das l_linger-Member nicht angegeben. In diesem Fall ist das verwendete Timeout implementierungsabhängig. Wenn ein früheres Timeout für einen Socket festgelegt wurde (durch Aktivieren SO_LINGER), sollte dieser Timeoutwert vom Dienstanbieter wiederhergestellt werden.
Beachten Sie, dass das Aktivieren eines nichtzero-Timeouts für einen nicht blockierenden Socket nicht empfohlen wird.
Die getockopt-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 | winsock.h (einschließlich Winsock2.h) |