Ler em inglês

Partilhar 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.

C#
public void SetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, bool optionValue);

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 .

C#
// 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 .

Nota

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

.NET 10 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1

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.

C#
public void SetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, byte[] optionValue);

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 .

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

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.

Nota

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.

Nota

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

.NET 10 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1

SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

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

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

C#
public void SetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, int optionValue);

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 .

C#
// 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 .

Nota

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.

Nota

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

.NET 10 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1

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.

C#
public void SetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, object optionValue);

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 .

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

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 .

Nota

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

.NET 10 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1