Socket.SetSocketOption Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.
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)
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.
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.