Socket.SetSocketOption Metoda
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.
Socket Ustawia opcję.
Przeciążenia
SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean) |
Ustawia określoną Socket opcję na określoną Boolean wartość. |
SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[]) |
Ustawia określoną Socket opcję na określoną wartość reprezentowaną jako tablica bajtów. |
SetSocketOption(SocketOptionLevel, SocketOptionName, Int32) |
Ustawia określoną Socket opcję na określoną wartość całkowitą. |
SetSocketOption(SocketOptionLevel, SocketOptionName, Object) |
Ustawia określoną Socket opcję na określoną wartość reprezentowaną jako obiekt. |
SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)
- Źródło:
- Socket.cs
- Źródło:
- Socket.cs
- Źródło:
- 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
SocketOptionLevel Jedna z wartości.
- optionName
- SocketOptionName
SocketOptionName Jedna z wartości.
Wyjątki
Obiekt Socket został zamknięty.
Wystąpił błąd podczas próby uzyskania dostępu do gniazda.
Przykłady
Poniższy przykład kodu otwiera gniazdo i włącza DontLinger
opcje gniazd i OutOfBandInline
.
// 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);
Uwagi
Socket opcje określają zachowanie bieżącego Socketelementu . Ustaw optionValue
wartość , aby true
włączyć opcję lub , aby false
wyłączyć tę opcję.
Socket opcje są pogrupowane według poziomu obsługi protokołu.
Poniżej przedstawiono różne Socket opcje, które można ustawić przy użyciu tego przeciążenia. Te opcje są pogrupowane według odpowiedniej SocketOptionLevel wartości. Jeśli zamierzasz ustawić dowolną z tych opcji, pamiętaj, aby użyć odpowiedniej SocketOptionLevel wartości dla parametru optionLevel
. Opcja, którą chcesz ustawić, musi być określona w parametrze optionName
. Jeśli chcesz uzyskać bieżącą wartość dowolnej z wymienionych opcji, użyj GetSocketOption metody .
SocketOptionLevel.Socket opcje, które można ustawić przy użyciu tego przeciążenia.
SocketOptionLevel.IP opcje, które można ustawić przy użyciu tego przeciążenia.
SocketOptionLevel.Tcp opcje, które można ustawić przy użyciu tego przeciążenia.
SocketOptionLevel.Udp opcje, które można ustawić przy użyciu tego przeciążenia.
Aby uzyskać więcej informacji na temat tych opcji, zapoznaj się z wyliczeniem SocketOptionName .
Uwaga
Jeśli wystąpi SocketException wyjątek, użyj SocketException.ErrorCode właściwości , aby uzyskać określony kod błędu. Po uzyskaniu tego kodu zapoznaj się z dokumentacją kodu błędu interfejsu API Windows Sockets w wersji 2 , aby uzyskać szczegółowy opis błędu.
Dotyczy
SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])
- Źródło:
- Socket.cs
- Źródło:
- Socket.cs
- Źródło:
- Socket.cs
Ustawia określoną Socket opcję na określoną wartość reprezentowaną jako tablica bajtów.
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
SocketOptionLevel Jedna z wartości.
- optionName
- SocketOptionName
SocketOptionName Jedna z wartości.
Wyjątki
Wystąpił błąd podczas próby uzyskania dostępu do gniazda.
Element Socket został zamknięty.
Przykłady
Poniższy przykład kodu ustawia wartości limitu LingerOption czasu i 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)
Uwagi
Socket opcje określają zachowanie bieżącego Socketelementu . Użyj tego przeciążenia, aby ustawić te Socket opcje, które wymagają tablicy bajtów jako wartość opcji.
Uwaga
Jeśli zostanie wyświetlony element SocketException, użyj SocketException.ErrorCode właściwości , aby uzyskać określony kod błędu. Po uzyskaniu tego kodu zapoznaj się z dokumentacją kodu błędu interfejsu API Windows Sockets w wersji 2 , aby uzyskać szczegółowy opis błędu.
Uwaga
Ten element członkowski generuje informacje ze śledzenia pod warunkiem włączenia funkcji śledzenia sieci w aplikacji. Aby uzyskać więcej informacji, zobacz Śledzenie sieci w .NET Framework.
Zobacz też
Dotyczy
SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)
- Źródło:
- Socket.cs
- Źródło:
- Socket.cs
- Źródło:
- Socket.cs
Ustawia określoną Socket opcję na określoną wartość całkowitą.
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
SocketOptionLevel Jedna z wartości.
- optionName
- SocketOptionName
SocketOptionName Jedna z wartości.
- optionValue
- Int32
Wartość opcji.
Wyjątki
Wystąpił błąd podczas próby uzyskania dostępu do gniazda.
Element Socket został zamknięty.
Przykłady
Poniższy przykład kodu ustawia wartości limitu LingerOption czasu i 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)
Uwagi
Socket opcje określają zachowanie bieżącego Socketelementu . W przypadku opcji z typem Boolean danych określ wartość niezerową, aby włączyć tę opcję, oraz wartość zero, aby wyłączyć tę opcję. W przypadku opcji z typem danych całkowitych określ odpowiednią wartość. Socket opcje są pogrupowane według poziomu obsługi protokołu.
Poniżej przedstawiono różne Socket opcje, które można ustawić przy użyciu tego przeciążenia. Te opcje są pogrupowane według odpowiednich SocketOptionLevelwartości . Jeśli zamierzasz ustawić dowolną z tych opcji, pamiętaj, aby użyć odpowiedniego SocketOptionLevel parametru optionLevel
. Opcja, którą chcesz ustawić, musi być określona w parametrze optionName
. Jeśli chcesz uzyskać bieżącą wartość dowolnej z wymienionych opcji, użyj GetSocketOption metody .
SocketOptionLevel.Socket opcje, które można ustawić przy użyciu tego przeciążenia.
SocketOptionLevel.IP opcje, które można ustawić przy użyciu tego przeciążenia.
SocketOptionLevel.Tcp opcje, które można ustawić przy użyciu tego przeciążenia.
SocketOptionLevel.Udp opcje, które można ustawić przy użyciu tego przeciążenia.
SocketOptionLevel.IPv6 opcje, które można ustawić przy użyciu tego przeciążenia.
Aby uzyskać więcej informacji na temat tych opcji, zapoznaj się z wyliczeniem SocketOptionName .
Uwaga
Jeśli zostanie wyświetlony element SocketException, użyj SocketException.ErrorCode właściwości , aby uzyskać określony kod błędu. Po uzyskaniu tego kodu zapoznaj się z dokumentacją kodu błędu interfejsu API Windows Sockets w wersji 2 , aby uzyskać szczegółowy opis błędu.
Uwaga
Ten element członkowski generuje informacje ze śledzenia pod warunkiem włączenia funkcji śledzenia sieci w aplikacji. Aby uzyskać więcej informacji, zobacz Śledzenie sieci w .NET Framework.
Zobacz też
Dotyczy
SetSocketOption(SocketOptionLevel, SocketOptionName, Object)
- Źródło:
- Socket.cs
- Źródło:
- Socket.cs
- Źródło:
- Socket.cs
Ustawia określoną Socket opcję na określoną wartość reprezentowaną jako obiekt.
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
SocketOptionLevel Jedna z wartości.
- optionName
- SocketOptionName
SocketOptionName Jedna z wartości.
- optionValue
- Object
Wartość LingerOption lub MulticastOption zawierająca wartość opcji.
Wyjątki
optionValue
to null
.
Wystąpił błąd podczas próby uzyskania dostępu do gniazda.
Element Socket został zamknięty.
Przykłady
Poniższy przykład kodu ustawia wartości limitu LingerOption czasu i 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)
Uwagi
Socket opcje określają zachowanie bieżącego Socketelementu . Użyj tego przeciążenia, aby ustawić Lingeropcje , AddMembershipi DropMembershipSocket . W przypadku Linger opcji użyj parametru SocketoptionLevel
. W przypadku plików AddMembership i DropMembershipużyj polecenia IP. Jeśli chcesz uzyskać bieżącą wartość dowolnej z opcji wymienionych powyżej, użyj GetSocketOption metody .
Uwaga
Jeśli zostanie wyświetlony element SocketException, użyj SocketException.ErrorCode właściwości , aby uzyskać określony kod błędu. Po uzyskaniu tego kodu zapoznaj się z dokumentacją kodu błędu interfejsu API Windows Sockets w wersji 2 , aby uzyskać szczegółowy opis błędu.