Compartilhar via


Socket.SetSocketOption Método

Definição

Define uma opção Socket.

Sobrecargas

SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)

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

SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

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

SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

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

SetSocketOption(SocketOptionLevel, SocketOptionName, Object)

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

SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)

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

Define a opção Socket especificada para o valor especificado de 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 valores de SocketOptionLevel.

optionName
SocketOptionName

Um dos valores de SocketOptionName.

optionValue
Boolean

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

Exceções

O objeto Socket foi fechado.

Ocorreu um 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 e .

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

Comentários

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

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

Veja abaixo 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ê escolher 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

Define a opção Socket especificada para 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 valores de SocketOptionLevel.

optionName
SocketOptionName

Um dos valores de SocketOptionName.

optionValue
Byte[]

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

Exceções

Ocorreu um erro ao tentar acessar o soquete.

Exemplos

O exemplo de código a seguir define os LingerOption valores de tempo limite e 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)

Comentários

Socket as 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 emite o rastreamento de informações quando você ativa o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de rede em .NET Framework.

Confira também

Aplica-se a

SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

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

Define a opção Socket especificada para 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 valores de SocketOptionLevel.

optionName
SocketOptionName

Um dos valores de SocketOptionName.

optionValue
Int32

Um valor da opção.

Exceções

Ocorreu um erro ao tentar acessar o soquete.

Exemplos

O exemplo de código a seguir define os LingerOption valores de tempo limite e 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)

Comentários

Socket as 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 ao protocolo.

Veja abaixo 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ê escolher 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 emite o rastreamento de informações quando você ativa o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de rede em .NET Framework.

Confira também

Aplica-se a

SetSocketOption(SocketOptionLevel, SocketOptionName, Object)

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

Define a opção Socket especificada com 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 valores de SocketOptionLevel.

optionName
SocketOptionName

Um dos valores de SocketOptionName.

optionValue
Object

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

Exceções

optionValue é null.

Ocorreu um erro ao tentar acessar o soquete.

Exemplos

O exemplo de código a seguir define os LingerOption valores de tempo limite e 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)

Comentários

Socket as opções determinam o comportamento do atual Socket. Use essa sobrecarga para definir as Lingeropções , AddMembershipe DropMembershipSocket . 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