Socket.SetSocketOption Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Nastaví možnost Socket .
Přetížení
SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean) | |
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
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.
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 DontLinger
OutOfBandInline
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.
Výjimky
Při pokusu o přístup k soketu došlo k chybě.
Byl Socket zavřený.
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ě.
Byl Socket zavřený.
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ě.
Byl Socket zavřený.
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 .