Socket.SetSocketOption Metoda

Definice

Nastaví možnost Socket .

Přetížení

SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)

Nastaví zadanou Socket možnost na zadanou Boolean hodnotu.

SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

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

SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

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

SetSocketOption(SocketOptionLevel, SocketOptionName, Object)

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

SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)

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

Nastaví zadanou Socket možnost na zadanou Boolean 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í možnosti soketu DontLingerOutOfBandInline a .

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

// Create a TCP socket.
Socket^ client = gcnew 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 );
// 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 Socketobjektu . Nastavte optionValue na, true pokud chcete tuto možnost povolit, nebo ji false zakázat.

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

Níže jsou uvedeny různé Socket možnosti, které lze pomocí tohoto přetížení nastavit. 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 optionLevel parametr použít odpovídající SocketOptionLevel hodnotu. Možnost, kterou se rozhodnete nastavit, 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 ve výčtu SocketOptionName .

Poznámka

Pokud se SocketException zobrazí výjimka, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby. Jakmile tento kód získáte, projděte si podrobný popis chyby v dokumentaci k rozhraní API windows Sockets verze 2 .

Platí pro

SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

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

Nastaví zadanou Socket možnost na zadanou 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ě.

Příklady

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

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

Poznámky

Socket možnosti určují chování aktuálního Socketobjektu . 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í SocketException, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby. Jakmile tento kód získáte, projděte si podrobný popis chyby v dokumentaci k rozhraní API windows Sockets verze 2 .

Poznámka

Tento člen poskytuje trasovací informace, když je ve vaší aplikaci povoleno trasování sítě. Další informace najdete 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

Nastaví zadanou Socket možnost na zadanou 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ě.

Příklady

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

// Specifies that 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);
'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 Socketobjektu . U možnosti s datovým typem Boolean zadejte nenulovou hodnotu, která tuto možnost povolí, a nulovou hodnotu, pokud chcete tuto možnost zakázat. U možnosti s datovým typem integer zadejte příslušnou hodnotu. Socket možnosti jsou seskupené podle úrovně podpory protokolu.

Níže jsou uvedeny různé Socket možnosti, které lze pomocí tohoto přetížení nastavit. Tyto možnosti jsou seskupené podle příslušné SocketOptionLevelhodnoty . 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 se rozhodnete nastavit, 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 ve výčtu SocketOptionName .

Poznámka

Pokud se zobrazí SocketException, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby. Jakmile tento kód získáte, projděte si podrobný popis chyby v dokumentaci k rozhraní API windows Sockets verze 2 .

Poznámka

Tento člen poskytuje trasovací informace, když je ve vaší aplikaci povoleno trasování sítě. Další informace najdete 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

Nastaví zadanou Socket možnost na zadanou 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ě.

Příklady

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

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

Poznámky

Socket možnosti určují chování aktuálního Socketobjektu . Toto přetížení použijte k nastavení Lingermožností , AddMembershipa DropMembershipSocket . Linger Jako možnost použijte Socket parametr optionLevel . Pro AddMembership a DropMembershippoužijte 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í SocketException, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby. Jakmile tento kód získáte, projděte si podrobný popis chyby v dokumentaci k rozhraní API windows Sockets verze 2 .

Viz také

Platí pro