Sdílet prostřednictvím


Socket.SetSocketOption Metoda

Definice

Socket Nastaví možnost.

Přetížení

Name Description
SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)

Nastaví zadanou možnost na zadanou SocketBoolean hodnotu.

SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

Nastaví zadanou možnost na zadanou Socket hodnotu reprezentovanou jako pole bajtů.

SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

Nastaví zadanou možnost na zadanou Socket celočíselnou hodnotu.

SetSocketOption(SocketOptionLevel, SocketOptionName, Object)

Nastaví zadanou možnost na zadanou Socket hodnotu reprezentovanou jako objekt.

SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)

Zdroj:
Socket.cs
Zdroj:
Socket.cs
Zdroj:
Socket.cs
Zdroj:
Socket.cs
Zdroj:
Socket.cs

Nastaví zadanou možnost na zadanou SocketBoolean hodnotu.

public:
 void SetSocketOption(System::Net::Sockets::SocketOptionLevel optionLevel, System::Net::Sockets::SocketOptionName optionName, bool optionValue);
public void SetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, bool optionValue);
member this.SetSocketOption : System.Net.Sockets.SocketOptionLevel * System.Net.Sockets.SocketOptionName * bool -> unit
Public Sub SetSocketOption (optionLevel As SocketOptionLevel, optionName As SocketOptionName, optionValue As Boolean)

Parametry

optionLevel
SocketOptionLevel

Jedna z SocketOptionLevel hodnot.

optionName
SocketOptionName

Jedna z SocketOptionName hodnot.

optionValue
Boolean

Hodnota možnosti reprezentovaná jako Boolean.

Výjimky

Objekt Socket byl uzavřen.

Při pokusu o přístup k soketu došlo k chybě.

Příklady

Následující příklad kódu otevře soket a povolí DontLinger možnosti soketu a soketu OutOfBandInline .

// Establish the local endpoint for the socket.
IPHostEntry ipHost = Dns.GetHostEntry(Dns.GetHostName());
IPAddress  ipAddr = ipHost.AddressList[0];
IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, 11000);

// Create a TCP socket.
Socket client = new Socket(AddressFamily.InterNetwork,
    SocketType.Stream, ProtocolType.Tcp);

// Connect the socket to the remote endpoint.
client.Connect(ipEndPoint);

// Set option that allows socket to close gracefully without lingering.
client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.DontLinger, true);

// Set option that allows socket to receive out-of-band information in the data stream.
client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.OutOfBandInline, true);

Poznámky

Socket možnosti určují chování aktuálního Socket. Nastavte optionValue na true povolení této možnosti nebo tuto false možnost zakažte.

Socket možnosti jsou seskupené podle úrovně podpory protokolu.

Níže jsou uvedeny různé Socket možnosti, které lze nastavit pomocí tohoto přetížení. Tyto možnosti jsou seskupené podle příslušné SocketOptionLevel hodnoty. Pokud máte v úmyslu nastavit některou z těchto možností, nezapomeňte pro parametr použít odpovídající SocketOptionLevel hodnotu optionLevel . Možnost, kterou zvolíte k nastavení, musí být zadána v parametru optionName . Pokud chcete získat aktuální hodnotu některé z uvedených možností, použijte metodu GetSocketOption .

SocketOptionLevel.Socket možnosti, které lze nastavit pomocí tohoto přetížení.

SocketOptionLevel.IP možnosti, které lze nastavit pomocí tohoto přetížení.

SocketOptionLevel.Tcp možnosti, které lze nastavit pomocí tohoto přetížení.

SocketOptionLevel.Udp možnosti, které lze nastavit pomocí tohoto přetížení.

Další informace o těchto možnostech najdete v výčtu SocketOptionName .

Poznámka:

Pokud se zobrazí SocketException výjimka, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby. Po získání tohoto kódu si přečtěte dokumentaci k chybě rozhraní API rozhraní WINDOWS Sockets verze 2 , kde najdete podrobný popis chyby.

Platí pro

SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

Zdroj:
Socket.cs
Zdroj:
Socket.cs
Zdroj:
Socket.cs
Zdroj:
Socket.cs
Zdroj:
Socket.cs

Nastaví zadanou možnost na zadanou Socket hodnotu reprezentovanou jako pole bajtů.

public:
 void SetSocketOption(System::Net::Sockets::SocketOptionLevel optionLevel, System::Net::Sockets::SocketOptionName optionName, cli::array <System::Byte> ^ optionValue);
public void SetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, byte[] optionValue);
member this.SetSocketOption : System.Net.Sockets.SocketOptionLevel * System.Net.Sockets.SocketOptionName * byte[] -> unit
Public Sub SetSocketOption (optionLevel As SocketOptionLevel, optionName As SocketOptionName, optionValue As Byte())

Parametry

optionLevel
SocketOptionLevel

Jedna z SocketOptionLevel hodnot.

optionName
SocketOptionName

Jedna z SocketOptionName hodnot.

optionValue
Byte[]

Pole typu Byte , které představuje hodnotu možnosti.

Výjimky

Při pokusu o přístup k soketu došlo k chybě.

Ta Socket byla uzavřena.

Příklady

Následující příklad kódu nastaví hodnoty a Send hodnoty časového limituLingerOption.

// 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)

Poznámky

Socket možnosti určují chování aktuálního Socket. Toto přetížení použijte k nastavení možností Socket , které vyžadují pole bajtů jako hodnotu možnosti.

Poznámka:

Pokud se zobrazí kód SocketExceptionchyby, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby. Po získání tohoto kódu si přečtěte dokumentaci k chybě rozhraní API rozhraní WINDOWS Sockets verze 2 , kde najdete podrobný popis chyby.

Poznámka:

Tento člen vypíše informace o trasování, když ve své aplikaci povolíte trasování sítě. Další informace naleznete v tématu Trasování sítě v rozhraní .NET Framework.

Viz také

Platí pro

SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

Zdroj:
Socket.cs
Zdroj:
Socket.cs
Zdroj:
Socket.cs
Zdroj:
Socket.cs
Zdroj:
Socket.cs

Nastaví zadanou možnost na zadanou Socket celočíselnou hodnotu.

public:
 void SetSocketOption(System::Net::Sockets::SocketOptionLevel optionLevel, System::Net::Sockets::SocketOptionName optionName, int optionValue);
public void SetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, int optionValue);
member this.SetSocketOption : System.Net.Sockets.SocketOptionLevel * System.Net.Sockets.SocketOptionName * int -> unit
Public Sub SetSocketOption (optionLevel As SocketOptionLevel, optionName As SocketOptionName, optionValue As Integer)

Parametry

optionLevel
SocketOptionLevel

Jedna z SocketOptionLevel hodnot.

optionName
SocketOptionName

Jedna z SocketOptionName hodnot.

optionValue
Int32

Hodnota možnosti.

Výjimky

Při pokusu o přístup k soketu došlo k chybě.

Ta Socket byla uzavřena.

Příklady

Následující příklad kódu nastaví hodnoty a Send hodnoty časového limituLingerOption.

// Send operations will time-out if confirmation
// is not received within 1000 milliseconds.
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 1000);
'Send operations will time-out if confirmation is
' not received within 1000 milliseconds.
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 1000)

Poznámky

Socket možnosti určují chování aktuálního Socket. U možnosti s datovým Boolean typem zadejte nenulovou hodnotu, která tuto možnost povolí, a nulovou hodnotu, která tuto možnost zakáže. Pro možnost s celočíselnou datovým typem zadejte odpovídající hodnotu. Socket možnosti jsou seskupené podle úrovně podpory protokolu.

Níže jsou uvedeny různé Socket možnosti, které lze nastavit pomocí tohoto přetížení. Tyto možnosti jsou seskupeny podle příslušného SocketOptionLevel. Pokud máte v úmyslu nastavit některou z těchto možností, nezapomeňte použít odpovídající SocketOptionLevel parametr optionLevel . Možnost, kterou zvolíte k nastavení, musí být zadána v parametru optionName . Pokud chcete získat aktuální hodnotu některé z uvedených možností, použijte metodu GetSocketOption .

SocketOptionLevel.Socket možnosti, které lze nastavit pomocí tohoto přetížení.

SocketOptionLevel.IP možnosti, které lze nastavit pomocí tohoto přetížení.

SocketOptionLevel.Tcp možnosti, které lze nastavit pomocí tohoto přetížení.

SocketOptionLevel.Udp možnosti, které lze nastavit pomocí tohoto přetížení.

SocketOptionLevel.IPv6 možnosti, které lze nastavit pomocí tohoto přetížení.

Další informace o těchto možnostech najdete v výčtu SocketOptionName .

Poznámka:

Pokud se zobrazí kód SocketExceptionchyby, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby. Po získání tohoto kódu si přečtěte dokumentaci k chybě rozhraní API rozhraní WINDOWS Sockets verze 2 , kde najdete podrobný popis chyby.

Poznámka:

Tento člen vypíše informace o trasování, když ve své aplikaci povolíte trasování sítě. Další informace naleznete v tématu Trasování sítě v rozhraní .NET Framework.

Viz také

Platí pro

SetSocketOption(SocketOptionLevel, SocketOptionName, Object)

Zdroj:
Socket.cs
Zdroj:
Socket.cs
Zdroj:
Socket.cs
Zdroj:
Socket.cs
Zdroj:
Socket.cs

Nastaví zadanou možnost na zadanou Socket hodnotu reprezentovanou jako objekt.

public:
 void SetSocketOption(System::Net::Sockets::SocketOptionLevel optionLevel, System::Net::Sockets::SocketOptionName optionName, System::Object ^ optionValue);
public void SetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, object optionValue);
member this.SetSocketOption : System.Net.Sockets.SocketOptionLevel * System.Net.Sockets.SocketOptionName * obj -> unit
Public Sub SetSocketOption (optionLevel As SocketOptionLevel, optionName As SocketOptionName, optionValue As Object)

Parametry

optionLevel
SocketOptionLevel

Jedna z SocketOptionLevel hodnot.

optionName
SocketOptionName

Jedna z SocketOptionName hodnot.

optionValue
Object

A LingerOption nebo MulticastOption obsahující hodnotu možnosti.

Výjimky

optionValue je null.

Při pokusu o přístup k soketu došlo k chybě.

Ta Socket byla uzavřena.

Příklady

Následující příklad kódu nastaví hodnoty a Send vypršení časového limituLingerOption.

// 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)

Poznámky

Socket možnosti určují chování aktuálního Socket. Toto přetížení použijte k nastavení LingerAddMembership, a DropMembershipSocket možnosti. Pro tuto Linger možnost použijte Socket parametr optionLevel . Pro AddMembership a DropMembership, použít IP. Pokud chcete získat aktuální hodnotu některé z výše uvedených možností, použijte metodu GetSocketOption .

Poznámka:

Pokud se zobrazí kód SocketExceptionchyby, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby. Po získání tohoto kódu si přečtěte dokumentaci k chybě rozhraní API rozhraní WINDOWS Sockets verze 2 , kde najdete podrobný popis chyby.

Viz také

Platí pro