Partilhar via


Socket.SetSocketOption Método

Definição

Define uma Socket opção.

Sobrecargas

Nome Description
SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)

Define a opção especificada Socket como o valor especificado Boolean .

SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

Define a opção especificada Socket como o valor especificado, representado como uma matriz de bytes.

SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

Define a opção especificada Socket como o valor inteiro especificado.

SetSocketOption(SocketOptionLevel, SocketOptionName, Object)

Define a opção especificada Socket como o valor especificado, representado como um objeto.

SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)

Origem:
Socket.cs
Origem:
Socket.cs
Origem:
Socket.cs
Origem:
Socket.cs
Origem:
Socket.cs

Define a opção especificada Socket como o valor especificado Boolean .

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)

Parâmetros

optionLevel
SocketOptionLevel

Um dos SocketOptionLevel valores.

optionName
SocketOptionName

Um dos SocketOptionName valores.

optionValue
Boolean

O valor da opção, representado como um Boolean.

Exceções

O Socket objeto foi fechado.

Erro ao tentar acessar o soquete.

Exemplos

O exemplo de código a seguir abre um soquete e habilita as DontLingerOutOfBandInline opções de soquete.

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

Comentários

Socket opções determinam o comportamento do atual Socket. Defina optionValue para true habilitar a opção ou desabilitar false a opção.

Socket as opções são agrupadas por nível de suporte de protocolo.

Listadas abaixo estão as várias Socket opções que podem ser definidas usando essa sobrecarga. Essas opções são agrupadas pelo valor apropriado SocketOptionLevel . Se você pretende definir qualquer uma dessas opções, use o valor apropriado SocketOptionLevel para o optionLevel parâmetro. A opção que você escolhe definir deve ser especificada no optionName parâmetro. Se você quiser obter o valor atual de qualquer uma das opções listadas, use o GetSocketOption método.

SocketOptionLevel.Socket opções que podem ser definidas usando essa sobrecarga.

SocketOptionLevel.IP opções que podem ser definidas usando essa sobrecarga.

SocketOptionLevel.Tcp opções que podem ser definidas usando essa sobrecarga.

SocketOptionLevel.Udp opções que podem ser definidas usando essa sobrecarga.

Para obter mais informações sobre essas opções, consulte a SocketOptionName enumeração.

Observação

Se você receber uma SocketException exceção, use a SocketException.ErrorCode propriedade para obter o código de erro específico. Depois de obter esse código, consulte a documentação do código de erro da API do Windows Sockets versão 2 para obter uma descrição detalhada do erro.

Aplica-se a

SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

Origem:
Socket.cs
Origem:
Socket.cs
Origem:
Socket.cs
Origem:
Socket.cs
Origem:
Socket.cs

Define a opção especificada Socket como o valor especificado, representado como uma matriz de bytes.

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

Parâmetros

optionLevel
SocketOptionLevel

Um dos SocketOptionLevel valores.

optionName
SocketOptionName

Um dos SocketOptionName valores.

optionValue
Byte[]

Uma matriz de tipo Byte que representa o valor da opção.

Exceções

Erro ao tentar acessar o soquete.

Exemplos

O exemplo de código a seguir define os LingerOption valores de tempo limite e Send tempo limite.

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

Comentários

Socket opções determinam o comportamento do atual Socket. Use essa sobrecarga para definir essas Socket opções que exigem uma matriz de bytes como um valor de opção.

Observação

Se você receber um SocketException, use a SocketException.ErrorCode propriedade para obter o código de erro específico. Depois de obter esse código, consulte a documentação do código de erro da API do Windows Sockets versão 2 para obter uma descrição detalhada do erro.

Observação

Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de Rede no .NET Framework.

Confira também

Aplica-se a

SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

Origem:
Socket.cs
Origem:
Socket.cs
Origem:
Socket.cs
Origem:
Socket.cs
Origem:
Socket.cs

Define a opção especificada Socket como o valor inteiro especificado.

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)

Parâmetros

optionLevel
SocketOptionLevel

Um dos SocketOptionLevel valores.

optionName
SocketOptionName

Um dos SocketOptionName valores.

optionValue
Int32

Um valor da opção.

Exceções

Erro ao tentar acessar o soquete.

Exemplos

O exemplo de código a seguir define os LingerOption valores de tempo limite e Send tempo limite.

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

Comentários

Socket opções determinam o comportamento do atual Socket. Para uma opção com um Boolean tipo de dados, especifique um valor diferente de zero para habilitar a opção e um valor zero para desabilitar a opção. Para uma opção com um tipo de dados inteiro, especifique o valor apropriado. Socket as opções são agrupadas por nível de suporte de protocolo.

Listadas abaixo estão as várias Socket opções que podem ser definidas usando essa sobrecarga. Essas opções são agrupadas pelo apropriado SocketOptionLevel. Se você pretende definir qualquer uma dessas opções, use o apropriado SocketOptionLevel para o optionLevel parâmetro. A opção que você escolhe definir deve ser especificada no optionName parâmetro. Se você quiser obter o valor atual de qualquer uma das opções listadas, use o GetSocketOption método.

SocketOptionLevel.Socket opções que podem ser definidas usando essa sobrecarga.

SocketOptionLevel.IP opções que podem ser definidas usando essa sobrecarga.

SocketOptionLevel.Tcp opções que podem ser definidas usando essa sobrecarga.

SocketOptionLevel.Udp opções que podem ser definidas usando essa sobrecarga.

SocketOptionLevel.IPv6 opções que podem ser definidas usando essa sobrecarga.

Para obter mais informações sobre essas opções, consulte a SocketOptionName enumeração.

Observação

Se você receber um SocketException, use a SocketException.ErrorCode propriedade para obter o código de erro específico. Depois de obter esse código, consulte a documentação do código de erro da API do Windows Sockets versão 2 para obter uma descrição detalhada do erro.

Observação

Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de Rede no .NET Framework.

Confira também

Aplica-se a

SetSocketOption(SocketOptionLevel, SocketOptionName, Object)

Origem:
Socket.cs
Origem:
Socket.cs
Origem:
Socket.cs
Origem:
Socket.cs
Origem:
Socket.cs

Define a opção especificada Socket como o valor especificado, representado como um objeto.

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)

Parâmetros

optionLevel
SocketOptionLevel

Um dos SocketOptionLevel valores.

optionName
SocketOptionName

Um dos SocketOptionName valores.

optionValue
Object

Um LingerOption ou MulticastOption que contém o valor da opção.

Exceções

optionValue é null.

Erro ao tentar acessar o soquete.

Exemplos

O exemplo de código a seguir define os LingerOption valores de tempo limite e Send tempo limite.

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

Comentários

Socket opções determinam o comportamento do atual Socket. Use essa sobrecarga para definir o Linger, AddMembershipe DropMembershipSocket as opções. Para a opção Linger , use Socket para o optionLevel parâmetro. Para AddMembership e DropMembership, use IP. Se você quiser obter o valor atual de qualquer uma das opções listadas acima, use o GetSocketOption método.

Observação

Se você receber um SocketException, use a SocketException.ErrorCode propriedade para obter o código de erro específico. Depois de obter esse código, consulte a documentação do código de erro da API do Windows Sockets versão 2 para obter uma descrição detalhada do erro.

Confira também

Aplica-se a