Socket.SetSocketOption Método

Definição

Define uma Socket opção.

Sobrecargas

Name Description
SetSocketOption(SocketOptionLevel, SocketOptionName, Object)

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

SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

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

SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

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

SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)

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

SetSocketOption(SocketOptionLevel, SocketOptionName, Object)

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

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

Exceções

optionValue é null.

Ocorreu um erro ao tentar aceder ao soquete.

O Socket local foi encerrado.

Exemplos

O seguinte exemplo de código define os LingerOption valores de timeout e Send .

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

Observações

Socket As opções determinam o comportamento da corrente Socket. Use esta sobrecarga para definir as Lingeropções, AddMembership, e DropMembershipSocket . Para a Linger opção, use Socket como parâmetro optionLevel . Para AddMembership e DropMembership, use IP. Se quiser obter o valor atual de alguma das opções listadas acima, use o GetSocketOption método.

Note

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

Ver também

Aplica-se a

SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

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

optionName
SocketOptionName

Um dos SocketOptionName valores.

optionValue
Int32

Um valor da opção.

Exceções

Ocorreu um erro ao tentar aceder ao soquete.

O Socket local foi encerrado.

Exemplos

O seguinte exemplo de código define os LingerOption valores de time-out e Send .

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

Observações

Socket As opções determinam o comportamento da corrente Socket. Para uma opção com um Boolean tipo de dado, especifique um valor não nulo para permitir a opção e um valor zero para desativar a opção. Para uma opção com um tipo de dado inteiro, especifique o valor apropriado. Socket As opções estão agrupadas por nível de suporte ao protocolo.

Abaixo estão as várias Socket opções que podem ser definidas com esta sobrecarga. Estas opções estão agrupadas pelo apropriado SocketOptionLevel. Se pretende definir alguma destas opções, certifique-se de usar a apropriada SocketOptionLevel para o optionLevel parâmetro. A opção que escolher definir deve estar especificada no optionName parâmetro. Se quiser obter o valor atual de alguma das opções listadas, use o GetSocketOption método.

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

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

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

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

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

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

Note

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

Note

Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para mais informações, consulte Network Tracing in .NET Framework.

Ver também

Aplica-se a

SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

Define a opção especificada Socket para o valor especificado, representado como um array 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[]

Um array de tipo Byte que representa o valor da opção.

Exceções

Ocorreu um erro ao tentar aceder ao soquete.

O Socket local foi encerrado.

Exemplos

O seguinte exemplo de código define os LingerOption valores de time-out e Send .

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

Observações

Socket As opções determinam o comportamento da corrente Socket. Usa esta sobrecarga para definir as Socket opções que exigem um array de bytes como valor de opção.

Note

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

Note

Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para mais informações, consulte Network Tracing in .NET Framework.

Ver também

Aplica-se a

SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)

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

Ocorreu um erro ao tentar aceder ao soquete.

Exemplos

O seguinte exemplo de código abre um soquete e ativa as DontLinger opções de soquete e OutOfBandInline 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);

Observações

Socket As opções determinam o comportamento da corrente Socket. Defina optionValue para true ativar a opção, ou para false desativar a opção.

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

Abaixo estão as várias Socket opções que podem ser definidas com esta sobrecarga. Estas opções são agrupadas pelo valor apropriado SocketOptionLevel . Se pretende definir alguma destas opções, certifique-se de usar o valor apropriado SocketOptionLevel para o optionLevel parâmetro. A opção que escolher definir deve estar especificada no optionName parâmetro. Se quiser obter o valor atual de alguma das opções listadas, use o GetSocketOption método.

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

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

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

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

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

Note

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

Aplica-se a