SocketOptionName Wyliczenie

Definicja

Definiuje nazwy opcji konfiguracji.

public enum class SocketOptionName
public enum SocketOptionName
type SocketOptionName = 
Public Enum SocketOptionName
Dziedziczenie
SocketOptionName

Pola

Nazwa Wartość Opis
DontLinger -129

Zamknij gniazdo z wdziękiem bez utrzymującego się.

ExclusiveAddressUse -5

Umożliwia powiązanie gniazda w celu uzyskania wyłącznego dostępu.

Debug 1

Rejestruj informacje o debugowaniu.

IPOptions 1

Określa opcje adresów IP, które mają być wstawione do wychodzących datagramów.

NoChecksum 1

Wyślij datagramy UDP z sumą kontrolną ustawioną na zero.

NoDelay 1

Wyłącza algorytm Nagle na potrzeby łączenia.

AcceptConnection 2

Gniazdo nasłuchuje.

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ć.

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ć.

HeaderIncluded 2

Wskazuje, że aplikacja udostępnia nagłówek IP wychodzących datagramów.

TcpKeepAliveTime 3

Liczba sekund, przez które połączenie TCP pozostanie aktywne/bezczynne, zanim sondy keepalive zostaną wysłane do zdalnego.

TypeOfService 3

Zmień typ nagłówka adresu IP pola usługi.

IpTimeToLive 4

Ustaw pole Time-to-Live nagłówka IP.

ReuseAddress 4

Umożliwia powiązanie gniazda z adresem, który jest już używany.

KeepAlive 8

Używaj funkcji keep-alives.

MulticastInterface 9

Ustaw interfejs dla wychodzących pakietów multiemisji.

MulticastTimeToLive 10

Czas multiemisji IP na żywo.

MulticastLoopback 11

Sprzężenia zwrotnego multiemisji IP.

AddMembership 12

Dodaj członkostwo w grupie adresów IP.

DropMembership 13

Porzucanie członkostwa w grupie adresów IP.

DontFragment 14

Nie fragmentuj datagramów adresów IP.

AddSourceMembership 15

Dołącz do grupy źródłowej.

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. Korzystanie z serwera TFO jest zalecane tylko w kontrolowanych środowiskach sieciowych, co oznacza, że każda skrzynka pośrednicząca (na przykład zapora, router, serwer proxy) na ścieżce sieciowej między klientem a serwerem jest znana i może być skonfigurowana do obsługi serwera TFO. Korzystanie z serwera TFO poza kontrolowanymi środowiskami (takimi jak otwarty Internet) może prowadzić do problemów z łącznością.

DontRoute 16

Nie należy kierować; wyślij pakiet bezpośrednio do adresów interfejsu.

DropSourceMembership 16

Usuwanie grupy źródłowej.

TcpKeepAliveRetryCount 16

Liczba sond utrzymywania aktywności protokołu TCP, które zostaną wysłane przed zakończeniem połączenia.

BlockSource 17

Blokuj dane ze źródła.

TcpKeepAliveInterval 17

Liczba sekund, przez które połączenie TCP będzie czekać na odpowiedź na czas utrzymania przed wysłaniem kolejnej sondy keepalive.

UnblockSource 18

Odblokuj wcześniej zablokowane źródło.

PacketInformation 19

Zwraca informacje o odebranych pakietach.

ChecksumCoverage 20

Ustaw lub pobierz pokrycie sumy kontrolnej UDP.

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.

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 .

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 (domyślna dla Windows), gniazdo utworzone dla rodziny adresów AF_INET6 może służyć 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 Windows Vista lub nowszym.

Broadcast 32

Zezwalaj na wysyłanie komunikatów rozgłaszanych w gniazdach.

UseLoopback 64

Pomiń sprzęt, jeśli to możliwe.

Linger 128

Utrzymaj się blisko, jeśli nie są obecne dane.

OutOfBandInline 256

Odbiera dane poza pasmem w normalnym strumieniu danych.

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.

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.

SendLowWater 4099

Określa niski znacznik wody dla Send operacji.

ReceiveLowWater 4100

Określa niski znacznik wody dla Receive operacji.

SendTimeout 4101

Wyślij limit czasu. Ta opcja dotyczy tylko metod synchronicznych; nie ma wpływu na metody asynchroniczne, takie jak BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) metoda.

ReceiveTimeout 4102

Otrzymuj limit czasu. Ta opcja dotyczy tylko metod synchronicznych; nie ma wpływu na metody asynchroniczne, takie jak BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) metoda.

Error 4103

Pobiera stan błędu i czyści.

Type 4104

Pobiera typ gniazda.

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.

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.

MaxConnections 2147483647

Nieobsługiwane; wyrzuci wartość SocketException w przypadku użycia.

Przykłady

W poniższym przykładzie kodu użyto tej wyliczenia w celu ustawienia opcji gniazda.

// 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 Socket opcji konfiguracji. Gniazda można skonfigurować za Socket.SetSocketOption pomocą metody .

Dotyczy

Zobacz też