SocketOptionName Wyliczenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Definiuje nazwy opcji konfiguracji.
public enum class SocketOptionName
public enum SocketOptionName
type SocketOptionName =
Public Enum SocketOptionName
- Dziedziczenie
Pola
AcceptConnection | 2 | Gniazdo nasłuchuje. |
AddMembership | 12 | Dodaj członkostwo w grupie adresów IP. |
AddSourceMembership | 15 | Dołącz do grupy źródłowej. |
BlockSource | 17 | Blokuj dane ze źródła. |
Broadcast | 32 | Zezwalaj na wysyłanie komunikatów rozgłaszanych w gniazdach. |
BsdUrgent | 2 | Użyj pilnych danych zgodnie z definicją w dokumencie RFC-1222. Tę opcję można ustawić tylko raz; po jego ustawieniu nie można go wyłączyć. |
ChecksumCoverage | 20 | Ustaw lub pobierz pokrycie sumy kontrolnej UDP. |
Debug | 1 | Rejestruj informacje o debugowaniu. |
DontFragment | 14 | Nie fragmentuj datagramów adresów IP. |
DontLinger | -129 | Zamknij gniazdo z wdziękiem bez utrzymującego się. |
DontRoute | 16 | Nie należy kierować; wyślij pakiet bezpośrednio do adresów interfejsu. |
DropMembership | 13 | Porzucanie członkostwa w grupie adresów IP. |
DropSourceMembership | 16 | Usuwanie grupy źródłowej. |
Error | 4103 | Pobiera stan błędu i czyści. |
ExclusiveAddressUse | -5 | Umożliwia powiązanie gniazda w celu uzyskania wyłącznego dostępu. |
Expedited | 2 | Użyj przyspieszonych danych zgodnie z definicją w dokumencie RFC-1222. Tę opcję można ustawić tylko raz; po jego ustawieniu nie można go wyłączyć. |
FastOpen | 15 | Włącza protokół TCP Fast Open zgodnie z definicją w dokumencie RFC-7413. Rzeczywiste zaobserwowane zachowanie zależy od konfiguracji systemu operacyjnego i stanu pamięci podręcznej plików cookie TCP jądra. Włączenie serwera TFO może mieć wpływ na współdziałanie i powodować problemy z łącznością. |
HeaderIncluded | 2 | Wskazuje, że aplikacja udostępnia nagłówek IP wychodzących datagramów. |
HopLimit | 21 | Określa maksymalną liczbę przeskoków routera dla pakietu protokołu internetowego w wersji 6 (IPv6). Jest to podobne do czasu wygaśnięcia (TTL) dla protokołu internetowego w wersji 4. |
IPOptions | 1 | Określa opcje adresów IP, które mają być wstawione do wychodzących datagramów. |
IPProtectionLevel | 23 | Umożliwia ograniczenie gniazda IPv6 do określonego zakresu, takich jak adresy z tym samym linkiem lokalnego lub lokalnego prefiksu lokacji. Ta opcja gniazda umożliwia aplikacjom umieszczanie ograniczeń dostępu do gniazd IPv6. Takie ograniczenia umożliwiają aplikacji działającej w prywatnej sieci LAN proste i niezawodne wzmacnianie się przed atakami zewnętrznymi. Ta opcja gniazda rozszerza lub zawęża zakres gniazda nasłuchiwania, umożliwiając nieograniczony dostęp od użytkowników publicznych i prywatnych, jeśli jest to konieczne, lub ograniczenie dostępu tylko do tej samej lokacji, co jest wymagane. Ta opcja gniazda ma zdefiniowane poziomy ochrony określone w wyliczenie IPProtectionLevel. |
IpTimeToLive | 4 | Ustaw pole Time-to-Live nagłówka IP. |
IPv6Only | 27 | Wskazuje, czy gniazdo utworzone dla rodziny adresów AF_INET6 jest ograniczone tylko do komunikacji IPv6. Gniazda utworzone dla rodziny adresów AF_INET6 mogą być używane zarówno do komunikacji IPv6, jak i IPv4. Niektóre aplikacje mogą chcieć ograniczyć użycie gniazda utworzonego dla rodziny adresów AF_INET6 tylko do komunikacji IPv6. Jeśli ta wartość jest inna niż zero (wartość domyślna w systemie Windows), można użyć gniazda utworzonego dla rodziny adresów AF_INET6 do wysyłania i odbierania tylko pakietów IPv6. Gdy ta wartość jest równa zero, można użyć gniazda utworzonego dla rodziny adresów AF_INET6 do wysyłania i odbierania pakietów do i z adresu IPv6 lub adresu IPv4. Należy pamiętać, że możliwość interakcji z adresem IPv4 wymaga użycia zamapowanych adresów IPv4. Ta opcja gniazda jest obsługiwana w systemie Windows Vista lub nowszym. |
KeepAlive | 8 | Używaj funkcji keep-alives. |
Linger | 128 | Utrzymaj się blisko, jeśli nie są obecne dane. |
MaxConnections | 2147483647 | Nieobsługiwane; w przypadku użycia zostanie zgłoszony SocketException. |
MulticastInterface | 9 | Ustaw interfejs dla wychodzących pakietów multiemisji. |
MulticastLoopback | 11 | Sprzężenia zwrotnego multiemisji IP. |
MulticastTimeToLive | 10 | Czas multiemisji IP na żywo. |
NoChecksum | 1 | Wyślij datagramy UDP z sumą kontrolną ustawioną na zero. |
NoDelay | 1 | Wyłącza algorytm Nagle na potrzeby łączenia. |
OutOfBandInline | 256 | Odbiera dane poza pasmem w normalnym strumieniu danych. |
PacketInformation | 19 | Zwraca informacje o odebranych pakietach. |
ReceiveBuffer | 4098 | Określa łączną ilość miejsca buforu dla gniazda zarezerwowanego dla odbieranych. Nie ma to związku z maksymalnym rozmiarem komunikatu lub rozmiarem okna TCP. |
ReceiveLowWater | 4100 | Określa niski znacznik wody dla operacji Receive. |
ReceiveTimeout | 4102 | Otrzymuj limit czasu. Ta opcja dotyczy tylko metod synchronicznych; nie ma wpływu na metody asynchroniczne, takie jak metoda BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object). |
ReuseAddress | 4 | Umożliwia powiązanie gniazda z adresem, który jest już używany. |
ReuseUnicastPort | 12295 | Wskazuje, że system powinien odroczyć alokację portów efemerycznych dla połączeń wychodzących. Jest to równoważne użyciu opcji gniazda SO_REUSE_UNICASTPORT Winsock2. |
SendBuffer | 4097 | Określa łączną ilość miejsca buforu dla gniazda zarezerwowanego dla wysyłania. Nie ma to związku z maksymalnym rozmiarem komunikatu lub rozmiarem okna TCP. |
SendLowWater | 4099 | Określa niski znacznik wody dla operacji Send. |
SendTimeout | 4101 | Wyślij limit czasu. Ta opcja dotyczy tylko metod synchronicznych; nie ma wpływu na metody asynchroniczne, takie jak metoda BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object). |
TcpKeepAliveInterval | 17 | Liczba sekund, przez które połączenie TCP będzie czekać na odpowiedź na czas utrzymania przed wysłaniem kolejnej sondy keepalive. |
TcpKeepAliveRetryCount | 16 | Liczba sond utrzymywania aktywności protokołu TCP, które zostaną wysłane przed zakończeniem połączenia. |
TcpKeepAliveTime | 3 | Liczba sekund, przez które połączenie TCP pozostanie aktywne/bezczynne, zanim sondy keepalive zostaną wysłane do zdalnego. |
Type | 4104 | Pobiera typ gniazda. |
TypeOfService | 3 | Zmień typ nagłówka adresu IP pola usługi. |
UnblockSource | 18 | Odblokuj wcześniej zablokowane źródło. |
UpdateAcceptContext | 28683 | Aktualizuje zaakceptowane właściwości gniazda przy użyciu tych z istniejącego gniazda. Jest to równoważne użyciu opcji gniazda SO_UPDATE_ACCEPT_CONTEXT Winsock2 i jest obsługiwane tylko w gniazdach zorientowanych na połączenie. |
UpdateConnectContext | 28688 | Aktualizuje właściwości połączonego gniazda przy użyciu tych z istniejącego gniazda. Jest to równoważne z użyciem opcji gniazda SO_UPDATE_CONNECT_CONTEXT Winsock2 i jest obsługiwane tylko w gniazdach zorientowanych na połączenie. |
UseLoopback | 64 | Pomiń sprzęt, jeśli to możliwe. |
Przykłady
W poniższym przykładzie kodu użyto tej wyliczenia w celu ustawienia opcji gniazda.
// Specifies that the Socket will linger for 10 seconds after Close is called.
LingerOption^ lingerOption = gcnew LingerOption(true, 10);
s->SetSocketOption(SocketOptionLevel::Socket, SocketOptionName::Linger, lingerOption);
// The socket will linger for 10 seconds after Socket.Close is called.
var lingerOption = new LingerOption(true, 10);
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption);
' The socket will linger for 10 seconds after Socket.Close is called.
Dim lingerOption As New LingerOption(True, 10)
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption)
Uwagi
Wyliczenie SocketOptionName definiuje nazwę każdej opcji konfiguracji Socket. Gniazda można skonfigurować za pomocą metody Socket.SetSocketOption.