Compartilhar via


Socket.Send Método

Definição

Envia dados para um conectado Socket.

Sobrecargas

Nome Description
Send(ReadOnlySpan<Byte>, SocketFlags, SocketError)

Envia dados para um conectado Socket usando o especificado SocketFlags.

Send(ReadOnlySpan<Byte>)

Envia dados para um conectado Socket.

Send(Byte[], Int32, Int32, SocketFlags, SocketError)

Envia o número especificado de bytes de dados para um conectado Socket, começando no deslocamento especificado e usando o especificado SocketFlags.

Send(IList<ArraySegment<Byte>>, SocketFlags, SocketError)

Envia o conjunto de buffers na lista para um conectado Socketusando o .SocketFlags

Send(Byte[], Int32, Int32, SocketFlags)

Envia o número especificado de bytes de dados para um conectado Socket, começando no deslocamento especificado e usando o especificado SocketFlags.

Send(Byte[], Int32, SocketFlags)

Envia o número especificado de bytes de dados para um conectado Socketusando o especificado SocketFlags.

Send(IList<ArraySegment<Byte>>)

Envia o conjunto de buffers na lista para um conectado Socket.

Send(IList<ArraySegment<Byte>>, SocketFlags)

Envia o conjunto de buffers na lista para um conectado Socketusando o .SocketFlags

Send(Byte[], SocketFlags)

Envia dados para um conectado Socket usando o especificado SocketFlags.

Send(ReadOnlySpan<Byte>, SocketFlags)

Envia dados para um conectado Socket usando o especificado SocketFlags.

Send(Byte[])

Envia dados para um conectado Socket.

Send(ReadOnlySpan<Byte>, SocketFlags, SocketError)

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

Envia dados para um conectado Socket usando o especificado SocketFlags.

public:
 int Send(ReadOnlySpan<System::Byte> buffer, System::Net::Sockets::SocketFlags socketFlags, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode);
public int Send(ReadOnlySpan<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode);
member this.Send : ReadOnlySpan<byte> * System.Net.Sockets.SocketFlags * SocketError -> int
Public Function Send (buffer As ReadOnlySpan(Of Byte), socketFlags As SocketFlags, ByRef errorCode As SocketError) As Integer

Parâmetros

buffer
ReadOnlySpan<Byte>

Um intervalo de bytes que contém os dados a serem enviados.

socketFlags
SocketFlags

Uma combinação bit a bit dos valores de enumeração que especifica comportamentos de envio e recebimento.

errorCode
SocketError

Quando esse método é retornado, contém um dos valores de enumeração que define códigos de erro para o soquete.

Retornos

O número de bytes enviados para o Socket.

Exceções

Erro ao tentar acessar o soquete.

Comentários

Send envia dados de forma síncrona para o host remoto especificado no Connect método ou Accept e retorna o número de bytes enviados com êxito. Send pode ser usado para protocolos orientados à conexão e sem conexão.

Essa sobrecarga requer um buffer que contenha os dados que você deseja enviar. O SocketFlags valor usa como padrão 0, o deslocamento de buffer é padrão como 0 e o número de bytes para enviar padrões para o tamanho do buffer.

Se você estiver usando um protocolo sem conexão, deverá ligar Connect antes de chamar esse método ou Send gerará um SocketException. Se você estiver usando um protocolo orientado à conexão, deverá usar Connect para estabelecer uma conexão de host remoto ou usar Accept para aceitar uma conexão de entrada.

Se você estiver usando um protocolo sem conexão e planeja enviar dados para vários hosts diferentes, use o SendTo método. Se você não usar o SendTo método, precisará ligar Connect antes de cada chamada.Send Você pode usar SendTo mesmo depois de estabelecer um host remoto padrão com Connect. Você também pode alterar o host remoto padrão antes de chamar Send fazendo outra chamada para Connect.

Se você estiver usando um protocolo orientado à conexão, Send bloqueará até que todos os bytes no buffer sejam enviados, a menos que um tempo limite tenha sido definido usando Socket.SendTimeout. Se o valor do tempo limite tiver sido excedido, a Send chamada gerará um SocketException. No modo de não bloqueio, Send pode ser concluído com êxito mesmo que envie menos do que o número de bytes no buffer. É responsabilidade do aplicativo controlar o número de bytes enviados e repetir a operação até que o aplicativo envie os bytes no buffer. Também não há garantia de que os dados enviados serão exibidos na rede imediatamente. Para aumentar a eficiência de rede, o sistema subjacente pode atrasar a transmissão até que uma quantidade significativa de dados de saída seja coletada. Uma conclusão bem-sucedida do Send método significa que o sistema subjacente teve espaço para armazenar em buffer seus dados para um envio de rede.

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.

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.

Importante

A conclusão bem-sucedida de um envio não indica que os dados foram entregues com êxito. Se nenhum espaço de buffer estiver disponível no sistema de transporte para manter os dados a serem transmitidos, o envio será bloqueado, a menos que o soquete tenha sido colocado no modo de não bloqueio.

Confira também

Aplica-se a

Send(ReadOnlySpan<Byte>)

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

Envia dados para um conectado Socket.

public:
 int Send(ReadOnlySpan<System::Byte> buffer);
public int Send(ReadOnlySpan<byte> buffer);
member this.Send : ReadOnlySpan<byte> -> int
Public Function Send (buffer As ReadOnlySpan(Of Byte)) As Integer

Parâmetros

buffer
ReadOnlySpan<Byte>

Um intervalo de bytes que contém os dados a serem enviados.

Retornos

O número de bytes enviados para o Socket.

Exceções

Erro ao tentar acessar o soquete.

Comentários

Send envia dados de forma síncrona para o host remoto especificado no Connect método ou Accept e retorna o número de bytes enviados com êxito. Send pode ser usado para protocolos orientados à conexão e sem conexão.

Essa sobrecarga requer um buffer que contenha os dados que você deseja enviar. O SocketFlags valor usa como padrão 0, o deslocamento de buffer é padrão como 0 e o número de bytes para enviar padrões para o tamanho do buffer.

Se você estiver usando um protocolo sem conexão, deverá ligar Connect antes de chamar esse método ou Send gerará um SocketException. Se você estiver usando um protocolo orientado à conexão, deverá usar Connect para estabelecer uma conexão de host remoto ou usar Accept para aceitar uma conexão de entrada.

Se você estiver usando um protocolo sem conexão e planeja enviar dados para vários hosts diferentes, use o SendTo método. Se você não usar o SendTo método, precisará ligar Connect antes de cada chamada.Send Você pode usar SendTo mesmo depois de estabelecer um host remoto padrão com Connect. Você também pode alterar o host remoto padrão antes de chamar Send fazendo outra chamada para Connect.

Se você estiver usando um protocolo orientado à conexão, Send bloqueará até que todos os bytes no buffer sejam enviados, a menos que um tempo limite tenha sido definido usando Socket.SendTimeout. Se o valor do tempo limite tiver sido excedido, a Send chamada gerará um SocketException. No modo de não bloqueio, Send pode ser concluído com êxito mesmo que envie menos do que o número de bytes no buffer. É responsabilidade do aplicativo controlar o número de bytes enviados e repetir a operação até que o aplicativo envie os bytes no buffer. Também não há garantia de que os dados enviados serão exibidos na rede imediatamente. Para aumentar a eficiência de rede, o sistema subjacente pode atrasar a transmissão até que uma quantidade significativa de dados de saída seja coletada. Uma conclusão bem-sucedida do Send método significa que o sistema subjacente teve espaço para armazenar em buffer seus dados para um envio de rede.

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.

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.

Importante

A conclusão bem-sucedida de um envio não indica que os dados foram entregues com êxito. Se nenhum espaço de buffer estiver disponível no sistema de transporte para manter os dados a serem transmitidos, o envio será bloqueado, a menos que o soquete tenha sido colocado no modo de não bloqueio.

Confira também

Aplica-se a

Send(Byte[], Int32, Int32, SocketFlags, SocketError)

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

Envia o número especificado de bytes de dados para um conectado Socket, começando no deslocamento especificado e usando o especificado SocketFlags.

public:
 int Send(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode);
public int Send(byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode);
member this.Send : byte[] * int * int * System.Net.Sockets.SocketFlags * SocketError -> int
Public Function Send (buffer As Byte(), offset As Integer, size As Integer, socketFlags As SocketFlags, ByRef errorCode As SocketError) As Integer

Parâmetros

buffer
Byte[]

Uma matriz de tipo Byte que contém os dados a serem enviados.

offset
Int32

A posição no buffer de dados na qual começar a enviar dados.

size
Int32

O número de bytes a serem enviados.

socketFlags
SocketFlags

Uma combinação bit a bit dos SocketFlags valores.

errorCode
SocketError

Um SocketError objeto que armazena o erro do soquete.

Retornos

O número de bytes enviados para o Socket.

Exceções

buffer é null.

offset é menor que 0.

- ou -

offset é maior que o comprimento de buffer.

- ou -

size é menor que 0.

- ou -

size é maior que o comprimento de buffer menos o valor do offset parâmetro.

socketFlags não é uma combinação válida de valores.

- ou -

Ocorre um erro do sistema operacional ao acessar o Socket.

Exemplos

O exemplo de código a seguir especifica o buffer de dados, um deslocamento, um tamanho e SocketFlags o envio de dados para um conectado Socket.

// Displays sending with a connected socket
// using the overload that takes a buffer, offset, message size, and socket flags.
public static int SendReceiveTest4(Socket server)
{
    byte[] msg = Encoding.UTF8.GetBytes("This is a test");
    byte[] bytes = new byte[256];
    try
    {
        // Blocks until send returns.
        int byteCount = server.Send(msg, 0, msg.Length, SocketFlags.None);
        Console.WriteLine("Sent {0} bytes.", byteCount);

        // Get reply from the server.
        byteCount = server.Receive(bytes, 0, bytes.Length, SocketFlags.None);

        if (byteCount > 0)
            Console.WriteLine(Encoding.UTF8.GetString(bytes, 0, byteCount));
    }
    catch (SocketException e)
    {
        Console.WriteLine("{0} Error code: {1}.", e.Message, e.ErrorCode);
        return (e.ErrorCode);
    }
    return 0;
}
' Displays sending with a connected socket
' using the overload that takes a buffer, offset, message size, and socket flags.
Public Shared Function SendReceiveTest4(ByVal server As Socket) As Integer 
    Dim msg As Byte() = Encoding.UTF8.GetBytes("This is a test")
    Dim bytes(255) As Byte
    Try
        ' Blocks until send returns.
        Dim byteCount As Integer = server.Send(msg, 0, msg.Length, SocketFlags.None)
        Console.WriteLine("Sent {0} bytes.", byteCount)
        
        ' Get reply from the server.
        byteCount = server.Receive(bytes, 0, server.Available, SocketFlags.None)
        
        If byteCount > 0 Then
            Console.WriteLine(Encoding.UTF8.GetString(bytes))
        End If
    Catch e As SocketException
        Console.WriteLine("{0} Error code: {1}.", e.Message, e.ErrorCode)
        Return e.ErrorCode
    End Try
    Return 0

End Function 'SendReceiveTest4

Comentários

Send envia dados de forma síncrona para o host remoto especificado no Connect método ou Accept e retorna o número de bytes enviados com êxito. Send pode ser usado para protocolos orientados à conexão e sem conexão.

Nessa sobrecarga, se você especificar o DontRoute sinalizador como o socketflags parâmetro, os dados que você está enviando não serão roteado.

Se você estiver usando um protocolo sem conexão, deverá ligar Connect antes de chamar esse método ou Send gerará um SocketException. Se você estiver usando um protocolo orientado à conexão, deverá usar Connect para estabelecer uma conexão de host remoto ou usar Accept para aceitar uma conexão de entrada.

Se você estiver usando um protocolo sem conexão e planeja enviar dados para vários hosts diferentes, deverá usar SendTo. Se você não usar SendTo, precisará ligar Connect antes de cada chamada para Send. Não há problema em usar SendTo mesmo depois de você ter estabelecido um host remoto padrão com Connect. Você também pode alterar o host remoto padrão antes de chamar Send fazendo outra chamada para Connect.

Você também deve ter certeza de que o tamanho não excede o tamanho máximo do pacote do provedor de serviços subjacente. Se isso acontecer, o datagrama não será enviado e Send gerará um SocketException.

Se você estiver usando um protocolo orientado à conexão, Send bloqueará até que o número solicitado de bytes seja enviado, a menos que um tempo limite tenha sido definido usando Socket.SendTimeout. Se o valor do tempo limite tiver sido excedido, a Send chamada gerará um SocketException. No modo de não desbloqueio, Send pode ser concluído com êxito mesmo que envie menos do que o número de bytes solicitados. É responsabilidade do aplicativo controlar o número de bytes enviados e repetir a operação até que o aplicativo envie o número solicitado de bytes. Também não há nenhuma garantia de que os dados enviados serão exibidos na rede imediatamente. Para aumentar a eficiência de rede, o sistema subjacente pode atrasar a transmissão até que uma quantidade significativa de dados de saída seja coletada. Uma conclusão bem-sucedida do Send método significa que o sistema subjacente teve espaço para armazenar em buffer seus dados para um envio de rede.

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

A conclusão bem-sucedida de um envio não indica que os dados foram entregues com êxito. Se nenhum espaço de buffer estiver disponível no sistema de transporte para manter os dados a serem transmitidos, o envio será bloqueado, a menos que o soquete tenha sido colocado no modo de não bloqueio.

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

Send(IList<ArraySegment<Byte>>, SocketFlags, SocketError)

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

Envia o conjunto de buffers na lista para um conectado Socketusando o .SocketFlags

public:
 int Send(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode);
public int Send(System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode);
member this.Send : System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags * SocketError -> int
Public Function Send (buffers As IList(Of ArraySegment(Of Byte)), socketFlags As SocketFlags, ByRef errorCode As SocketError) As Integer

Parâmetros

buffers
IList<ArraySegment<Byte>>

Uma lista de ArraySegment<T>s do tipo Byte que contém os dados a serem enviados.

socketFlags
SocketFlags

Uma combinação bit a bit dos SocketFlags valores.

errorCode
SocketError

Um SocketError objeto que armazena o erro do soquete.

Retornos

O número de bytes enviados para o Socket.

Exceções

buffers é null.

buffers está vazio.

Erro ao tentar acessar o soquete.

Comentários

Essa sobrecarga requer pelo menos um buffer que contenha os dados que você deseja enviar. O SocketFlags valor é padrão como 0. Se você especificar o DontRoute sinalizador como o socketFlags parâmetro, os dados que você está enviando não serão roteado.

Se você estiver usando um protocolo sem conexão, deverá ligar Connect antes de chamar esse método ou Send gerará um SocketException. Se você estiver usando um protocolo orientado à conexão, deverá usar Connect para estabelecer uma conexão de host remoto ou usar Accept para aceitar uma conexão de entrada.

Se você estiver usando um protocolo sem conexão e planeja enviar dados para vários hosts diferentes, deverá usar o SendTo método. Se você não usar o SendTo método, precisará ligar Connect antes de cada chamada para Send. Você pode usar SendTo mesmo depois de estabelecer um host remoto padrão com Connect. Você também pode alterar o host remoto padrão antes de chamar Send fazendo outra chamada para Connect.

Se você estiver usando um protocolo orientado à conexão, Send bloqueará até que todos os bytes no buffer sejam enviados, a menos que um tempo limite tenha sido definido usando Socket.SendTimeout. Se o valor do tempo limite tiver sido excedido, a Send chamada gerará um SocketException. No modo de não bloqueio, Send pode ser concluído com êxito mesmo que envie menos do que o número de bytes no buffer. É responsabilidade do aplicativo controlar o número de bytes enviados e repetir a operação até que o aplicativo envie os bytes no buffer. Também não há nenhuma garantia de que os dados enviados serão exibidos na rede imediatamente. Para aumentar a eficiência de rede, o sistema subjacente pode atrasar a transmissão até que uma quantidade significativa de dados de saída seja coletada. Uma conclusão bem-sucedida do Send método significa que o sistema subjacente teve espaço para armazenar em buffer seus dados para um envio de rede.

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

A conclusão bem-sucedida de um envio não indica que os dados foram entregues com êxito. Se nenhum espaço de buffer estiver disponível no sistema de transporte para manter os dados a serem transmitidos, o envio será bloqueado, a menos que o soquete tenha sido colocado no modo de não bloqueio.

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.

Aplica-se a

Send(Byte[], Int32, Int32, SocketFlags)

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

Envia o número especificado de bytes de dados para um conectado Socket, começando no deslocamento especificado e usando o especificado SocketFlags.

public:
 int Send(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags);
public int Send(byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags);
member this.Send : byte[] * int * int * System.Net.Sockets.SocketFlags -> int
Public Function Send (buffer As Byte(), offset As Integer, size As Integer, socketFlags As SocketFlags) As Integer

Parâmetros

buffer
Byte[]

Uma matriz de tipo Byte que contém os dados a serem enviados.

offset
Int32

A posição no buffer de dados na qual começar a enviar dados.

size
Int32

O número de bytes a serem enviados.

socketFlags
SocketFlags

Uma combinação bit a bit dos SocketFlags valores.

Retornos

O número de bytes enviados para o Socket.

Exceções

buffer é null.

offset é menor que 0.

- ou -

offset é maior que o comprimento de buffer.

- ou -

size é menor que 0.

- ou -

size é maior que o comprimento de buffer menos o valor do offset parâmetro.

socketFlags não é uma combinação válida de valores.

- ou -

Ocorre um erro do sistema operacional ao acessar o Socket.

Exemplos

O exemplo de código a seguir especifica o buffer de dados, um deslocamento, um tamanho e SocketFlags o envio de dados para um conectado Socket.

// Displays sending with a connected socket
// using the overload that takes a buffer, offset, message size, and socket flags.
public static int SendReceiveTest4(Socket server)
{
    byte[] msg = Encoding.UTF8.GetBytes("This is a test");
    byte[] bytes = new byte[256];
    try
    {
        // Blocks until send returns.
        int byteCount = server.Send(msg, 0, msg.Length, SocketFlags.None);
        Console.WriteLine("Sent {0} bytes.", byteCount);

        // Get reply from the server.
        byteCount = server.Receive(bytes, 0, bytes.Length, SocketFlags.None);

        if (byteCount > 0)
            Console.WriteLine(Encoding.UTF8.GetString(bytes, 0, byteCount));
    }
    catch (SocketException e)
    {
        Console.WriteLine("{0} Error code: {1}.", e.Message, e.ErrorCode);
        return (e.ErrorCode);
    }
    return 0;
}
' Displays sending with a connected socket
' using the overload that takes a buffer, offset, message size, and socket flags.
Public Shared Function SendReceiveTest4(ByVal server As Socket) As Integer 
    Dim msg As Byte() = Encoding.UTF8.GetBytes("This is a test")
    Dim bytes(255) As Byte
    Try
        ' Blocks until send returns.
        Dim byteCount As Integer = server.Send(msg, 0, msg.Length, SocketFlags.None)
        Console.WriteLine("Sent {0} bytes.", byteCount)
        
        ' Get reply from the server.
        byteCount = server.Receive(bytes, 0, server.Available, SocketFlags.None)
        
        If byteCount > 0 Then
            Console.WriteLine(Encoding.UTF8.GetString(bytes))
        End If
    Catch e As SocketException
        Console.WriteLine("{0} Error code: {1}.", e.Message, e.ErrorCode)
        Return e.ErrorCode
    End Try
    Return 0

End Function 'SendReceiveTest4

Comentários

Send envia dados de forma síncrona para o host remoto especificado no Connect método ou Accept e retorna o número de bytes enviados com êxito. Send pode ser usado para protocolos orientados à conexão e sem conexão.

Nessa sobrecarga, se você especificar o DontRoute sinalizador como o socketflags parâmetro, os dados que você está enviando não serão roteado.

Se você estiver usando um protocolo sem conexão, deverá ligar Connect antes de chamar esse método ou Send gerará um SocketException. Se você estiver usando um protocolo orientado à conexão, deverá usar Connect para estabelecer uma conexão de host remoto ou usar Accept para aceitar uma conexão de entrada.

Se você estiver usando um protocolo sem conexão e planeja enviar dados para vários hosts diferentes, deverá usar SendTo. Se você não usar SendTo, precisará ligar Connect antes de cada chamada para Send. Não há problema em usar SendTo mesmo depois de você ter estabelecido um host remoto padrão com Connect. Você também pode alterar o host remoto padrão antes de chamar Send fazendo outra chamada para Connect.

Você também deve ter certeza de que o tamanho não excede o tamanho máximo do pacote do provedor de serviços subjacente. Se isso acontecer, o datagrama não será enviado e Send gerará um SocketException.

Se você estiver usando um protocolo orientado à conexão, Send bloqueará até que o número solicitado de bytes seja enviado, a menos que um tempo limite tenha sido definido usando Socket.SendTimeout. Se o valor do tempo limite tiver sido excedido, a Send chamada gerará um SocketException. No modo de não desbloqueio, Send pode ser concluído com êxito mesmo que envie menos do que o número de bytes solicitados. É responsabilidade do aplicativo controlar o número de bytes enviados e repetir a operação até que o aplicativo envie o número solicitado de bytes. Também não há nenhuma garantia de que os dados enviados serão exibidos na rede imediatamente. Para aumentar a eficiência de rede, o sistema subjacente pode atrasar a transmissão até que uma quantidade significativa de dados de saída seja coletada. Uma conclusão bem-sucedida do Send método significa que o sistema subjacente teve espaço para armazenar em buffer seus dados para um envio de rede.

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

A conclusão bem-sucedida de um envio não indica que os dados foram entregues com êxito. Se nenhum espaço de buffer estiver disponível no sistema de transporte para manter os dados a serem transmitidos, o envio será bloqueado, a menos que o soquete tenha sido colocado no modo de não bloqueio.

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

Send(Byte[], Int32, SocketFlags)

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

Envia o número especificado de bytes de dados para um conectado Socketusando o especificado SocketFlags.

public:
 int Send(cli::array <System::Byte> ^ buffer, int size, System::Net::Sockets::SocketFlags socketFlags);
public int Send(byte[] buffer, int size, System.Net.Sockets.SocketFlags socketFlags);
member this.Send : byte[] * int * System.Net.Sockets.SocketFlags -> int
Public Function Send (buffer As Byte(), size As Integer, socketFlags As SocketFlags) As Integer

Parâmetros

buffer
Byte[]

Uma matriz de tipo Byte que contém os dados a serem enviados.

size
Int32

O número de bytes a serem enviados.

socketFlags
SocketFlags

Uma combinação bit a bit dos SocketFlags valores.

Retornos

O número de bytes enviados para o Socket.

Exceções

buffer é null.

size é menor que 0 ou excede o tamanho do buffer.

socketFlags não é uma combinação válida de valores.

- ou -

Ocorre um erro do sistema operacional ao acessar o soquete.

Exemplos

O exemplo de código a seguir envia os dados encontrados no buffer e especifica None para SocketFlags.

// Displays sending with a connected socket
// using the overload that takes a buffer, message size, and socket flags.
public static int SendReceiveTest3(Socket server)
{
    byte[] msg = Encoding.UTF8.GetBytes("This is a test");
    byte[] bytes = new byte[256];
    try
    {
        // Blocks until send returns.
        int i = server.Send(msg, msg.Length, SocketFlags.None);
        Console.WriteLine("Sent {0} bytes.", i);

        // Get reply from the server.
        int byteCount = server.Receive(bytes, bytes.Length, SocketFlags.None);
        if (byteCount > 0)
            Console.WriteLine(Encoding.UTF8.GetString(bytes, 0, byteCount));
    }
    catch (SocketException e)
    {
        Console.WriteLine("{0} Error code: {1}.", e.Message, e.ErrorCode);
        return (e.ErrorCode);
    }
    return 0;
}
' Displays sending with a connected socket
' using the overload that takes a buffer, message size, and socket flags.
Public Shared Function SendReceiveTest3(ByVal server As Socket) As Integer 
    Dim msg As Byte() = Encoding.UTF8.GetBytes("This is a test")
    Dim bytes(255) As Byte
    Try
        ' Blocks until send returns.
        Dim i As Integer = server.Send(msg, msg.Length, SocketFlags.None)
        Console.WriteLine("Sent {0} bytes.", i)
        
        ' Get reply from the server.
        Dim byteCount As Integer = server.Receive(bytes, server.Available, SocketFlags.None)
        If byteCount > 0 Then
            Console.WriteLine(Encoding.UTF8.GetString(bytes))
        End If
    Catch e As SocketException
        Console.WriteLine("{0} Error code: {1}.", e.Message, e.ErrorCode)
        Return e.ErrorCode
    End Try
    Return 0

End Function 'SendReceiveTest3

Comentários

Send envia dados de forma síncrona para o host remoto estabelecido no Connect método ou Accept e retorna o número de bytes enviados com êxito. Send pode ser usado para protocolos orientados à conexão e sem conexão.

Essa sobrecarga requer um buffer que contenha os dados que você deseja enviar, o número de bytes que você deseja enviar e uma combinação bit a bit de qualquer SocketFlags. Se você especificar o DontRoute sinalizador como o socketflags parâmetro, os dados que você está enviando não serão roteado.

Se você estiver usando um protocolo sem conexão, deverá ligar Connect antes de chamar esse método ou Send gerará um SocketException. Se você estiver usando um protocolo orientado à conexão, deverá usar Connect para estabelecer uma conexão de host remoto ou usar Accept para aceitar uma conexão de entrada.

Se você estiver usando um protocolo sem conexão e planeja enviar dados para vários hosts diferentes, use o SendTo método. Se você não usar o SendTo método, precisará chamar o Connect método antes de cada chamada para o Send método. Você pode usar SendTo mesmo depois de estabelecer um host remoto padrão com Connect. Você também pode alterar o host remoto padrão antes de chamar Send fazendo outra chamada para Connect.

Com um protocolo orientado à conexão, Send será bloqueado até que o número solicitado de bytes seja enviado, a menos que um tempo limite tenha sido definido usando Socket.SendTimeout. Se o valor do tempo limite tiver sido excedido, a Send chamada gerará um SocketException. No modo de não desbloqueio, Send pode ser concluído com êxito mesmo que envie menos do que o número de bytes solicitados. É responsabilidade do aplicativo controlar o número de bytes enviados e repetir a operação até que o aplicativo envie o número solicitado de bytes. Também não há nenhuma garantia de que os dados enviados serão exibidos na rede imediatamente. Para aumentar a eficiência de rede, o sistema subjacente pode atrasar a transmissão até que uma quantidade significativa de dados de saída seja coletada. Uma conclusão bem-sucedida do Send método significa que o sistema subjacente teve espaço para armazenar em buffer seus dados para um envio de rede.

Observação

Você deve garantir que o tamanho não exceda o tamanho máximo do pacote do provedor de serviços subjacente. Se isso acontecer, o datagram não será enviado e Send gerará um SocketException. 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.

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.

Importante

A conclusão bem-sucedida de um envio não indica que os dados foram entregues com êxito. Se nenhum espaço de buffer estiver disponível no sistema de transporte para manter os dados a serem transmitidos, o envio será bloqueado, a menos que o soquete tenha sido colocado no modo de não bloqueio.

Confira também

Aplica-se a

Send(IList<ArraySegment<Byte>>)

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

Envia o conjunto de buffers na lista para um conectado Socket.

public:
 int Send(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers);
public int Send(System.Collections.Generic.IList<ArraySegment<byte>> buffers);
member this.Send : System.Collections.Generic.IList<ArraySegment<byte>> -> int
Public Function Send (buffers As IList(Of ArraySegment(Of Byte))) As Integer

Parâmetros

buffers
IList<ArraySegment<Byte>>

Uma lista de ArraySegment<T>s do tipo Byte que contém os dados a serem enviados.

Retornos

O número de bytes enviados para o Socket.

Exceções

buffers é null.

buffers está vazio.

Erro ao tentar acessar o soquete. Consulte a seção comentários abaixo.

Comentários

Send pode ser usado para protocolos orientados à conexão e sem conexão.

Essa sobrecarga requer pelo menos um buffer que contenha os dados que você deseja enviar.

Se você estiver usando um protocolo sem conexão, deverá ligar Connect antes de chamar esse método ou Send gerará um SocketException. Se você estiver usando um protocolo orientado à conexão, deverá usar Connect para estabelecer uma conexão de host remoto ou usar Accept para aceitar uma conexão de entrada.

Se você estiver usando um protocolo sem conexão e planeja enviar dados para vários hosts diferentes, deverá usar o SendTo método. Se você não usar o SendTo método, precisará ligar Connect antes de cada chamada para Send. Você pode usar SendTo mesmo depois de estabelecer um host remoto padrão com Connect. Você também pode alterar o host remoto padrão antes de chamar Send fazendo outra chamada para Connect.

Se você estiver usando um protocolo orientado à conexão, Send bloqueará até que todos os bytes no buffer sejam enviados, a menos que um tempo limite tenha sido definido usando Socket.SendTimeout. Se o valor do tempo limite tiver sido excedido, a Send chamada gerará um SocketException. No modo de não bloqueio, Send pode ser concluído com êxito mesmo que envie menos do que o número de bytes no buffer. É responsabilidade do aplicativo controlar o número de bytes enviados e repetir a operação até que o aplicativo envie os bytes no buffer. Também não há nenhuma garantia de que os dados enviados serão exibidos na rede imediatamente. Para aumentar a eficiência de rede, o sistema subjacente pode atrasar a transmissão até que uma quantidade significativa de dados de saída seja coletada. Uma conclusão bem-sucedida do Send método significa que o sistema subjacente teve espaço para armazenar em buffer seus dados para um envio de rede.

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

A conclusão bem-sucedida de um envio não indica que os dados foram entregues com êxito. Se nenhum espaço de buffer estiver disponível no sistema de transporte para manter os dados a serem transmitidos, o envio será bloqueado, a menos que o soquete tenha sido colocado no modo de não bloqueio.

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.

Aplica-se a

Send(IList<ArraySegment<Byte>>, SocketFlags)

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

Envia o conjunto de buffers na lista para um conectado Socketusando o .SocketFlags

public:
 int Send(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags);
public int Send(System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags);
member this.Send : System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags -> int
Public Function Send (buffers As IList(Of ArraySegment(Of Byte)), socketFlags As SocketFlags) As Integer

Parâmetros

buffers
IList<ArraySegment<Byte>>

Uma lista de ArraySegment<T>s do tipo Byte que contém os dados a serem enviados.

socketFlags
SocketFlags

Uma combinação bit a bit dos SocketFlags valores.

Retornos

O número de bytes enviados para o Socket.

Exceções

buffers é null.

buffers está vazio.

Erro ao tentar acessar o soquete.

Comentários

Essa sobrecarga requer pelo menos um buffer que contenha os dados que você deseja enviar. O SocketFlags valor é padrão como 0. Se você especificar o DontRoute sinalizador como o socketFlags parâmetro, os dados que você está enviando não serão roteado.

Se você estiver usando um protocolo sem conexão, deverá ligar Connect antes de chamar esse método ou Send gerará um SocketException. Se você estiver usando um protocolo orientado à conexão, deverá usar Connect para estabelecer uma conexão de host remoto ou usar Accept para aceitar uma conexão de entrada.

Se você estiver usando um protocolo sem conexão e planeja enviar dados para vários hosts diferentes, deverá usar o SendTo método. Se você não usar o SendTo método, precisará ligar Connect antes de cada chamada para Send. Você pode usar SendTo mesmo depois de estabelecer um host remoto padrão com Connect. Você também pode alterar o host remoto padrão antes de chamar Send fazendo outra chamada para Connect.

Se você estiver usando um protocolo orientado à conexão, Send bloqueará até que todos os bytes no buffer sejam enviados, a menos que um tempo limite tenha sido definido usando Socket.SendTimeout. Se o valor do tempo limite tiver sido excedido, a Send chamada gerará um SocketException. No modo de não bloqueio, Send pode ser concluído com êxito mesmo que envie menos do que o número de bytes no buffer. É responsabilidade do aplicativo controlar o número de bytes enviados e repetir a operação até que o aplicativo envie os bytes no buffer. Também não há nenhuma garantia de que os dados enviados serão exibidos na rede imediatamente. Para aumentar a eficiência de rede, o sistema subjacente pode atrasar a transmissão até que uma quantidade significativa de dados de saída seja coletada. Uma conclusão bem-sucedida do Send método significa que o sistema subjacente teve espaço para armazenar em buffer seus dados para um envio de rede.

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

A conclusão bem-sucedida de um envio não indica que os dados foram entregues com êxito. Se nenhum espaço de buffer estiver disponível no sistema de transporte para manter os dados a serem transmitidos, o envio será bloqueado, a menos que o soquete tenha sido colocado no modo de não bloqueio.

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.

Aplica-se a

Send(Byte[], SocketFlags)

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

Envia dados para um conectado Socket usando o especificado SocketFlags.

public:
 int Send(cli::array <System::Byte> ^ buffer, System::Net::Sockets::SocketFlags socketFlags);
public int Send(byte[] buffer, System.Net.Sockets.SocketFlags socketFlags);
member this.Send : byte[] * System.Net.Sockets.SocketFlags -> int
Public Function Send (buffer As Byte(), socketFlags As SocketFlags) As Integer

Parâmetros

buffer
Byte[]

Uma matriz de tipo Byte que contém os dados a serem enviados.

socketFlags
SocketFlags

Uma combinação bit a bit dos SocketFlags valores.

Retornos

O número de bytes enviados para o Socket.

Exceções

buffer é null.

Erro ao tentar acessar o soquete.

Exemplos

O exemplo de código a seguir demonstra o envio de dados em um conectado Socket.

// Displays sending with a connected socket
// using the overload that takes a buffer and socket flags.
public static int SendReceiveTest2(Socket server)
{
    byte[] msg = Encoding.UTF8.GetBytes("This is a test");
    byte[] bytes = new byte[256];
    try
    {
        // Blocks until send returns.
        int byteCount = server.Send(msg, SocketFlags.None);
        Console.WriteLine("Sent {0} bytes.", byteCount);

        // Get reply from the server.
        byteCount = server.Receive(bytes, SocketFlags.None);
        if (byteCount > 0)
            Console.WriteLine(Encoding.UTF8.GetString(bytes));
    }
    catch (SocketException e)
    {
        Console.WriteLine("{0} Error code: {1}.", e.Message, e.ErrorCode);
        return (e.ErrorCode);
    }
    return 0;
}
' Displays sending with a connected socket
' using the overload that takes a buffer and socket flags.
Public Shared Function SendReceiveTest2(ByVal server As Socket) As Integer 
    Dim msg As Byte() = Encoding.UTF8.GetBytes("This is a test")
    Dim bytes(255) As Byte
    Try
        ' Blocks until send returns.
        Dim byteCount As Integer = server.Send(msg, SocketFlags.None)
        Console.WriteLine("Sent {0} bytes.", byteCount)
        
        ' Get reply from the server.
        byteCount = server.Receive(bytes, SocketFlags.None)
        If byteCount > 0 Then
            Console.WriteLine(Encoding.UTF8.GetString(bytes))
        End If
    Catch e As SocketException
        Console.WriteLine("{0} Error code: {1}.", e.Message, e.ErrorCode)
        Return e.ErrorCode
    End Try
    Return 0

End Function 'SendReceiveTest2

Comentários

Send envia dados de forma síncrona para o host remoto estabelecido no Connect método ou Accept e retorna o número de bytes enviados com êxito. O Send método pode ser usado para protocolos orientados à conexão e sem conexão.

Essa sobrecarga requer um buffer que contenha os dados que você deseja enviar e uma combinação bit a bit de SocketFlags. O deslocamento de buffer usa como padrão 0 e o número de bytes para enviar padrões para o tamanho do buffer. Se você especificar o DontRoute sinalizador como o valor do socketflags parâmetro, os dados que você está enviando não serão roteado.

Se você estiver usando um protocolo sem conexão, deverá ligar Connect antes de chamar esse método ou Send gerará um SocketException. Se você estiver usando um protocolo orientado à conexão, deverá usar Connect para estabelecer uma conexão de host remoto ou usar Accept para aceitar uma conexão de entrada.

Se você estiver usando um protocolo sem conexão e planeja enviar dados para vários hosts diferentes, deverá usar o SendTo método. Se você não usar o SendTo método, precisará chamar o Connect método antes de cada chamada.Send Você pode usar SendTo mesmo depois de estabelecer um host remoto padrão com Connect. Você também pode alterar o host remoto padrão antes de chamar Send fazendo outra chamada para Connect.

Se você estiver usando um protocolo orientado à conexão, Send bloqueará até que todos os bytes no buffer sejam enviados, a menos que um tempo limite tenha sido definido usando Socket.SendTimeout. Se o valor do tempo limite tiver sido excedido, a Send chamada gerará um SocketException. No modo de não bloqueio, Send pode ser concluído com êxito mesmo que envie menos do que o número de bytes no buffer. É responsabilidade do aplicativo controlar o número de bytes enviados e repetir a operação até que o aplicativo envie o número solicitado de bytes. Também não há nenhuma garantia de que os dados enviados serão exibidos na rede imediatamente. Para aumentar a eficiência de rede, o sistema subjacente pode atrasar a transmissão até que uma quantidade significativa de dados de saída seja coletada. Uma conclusão bem-sucedida do Send método significa que o sistema subjacente teve espaço para armazenar em buffer seus dados para um envio de rede.

Observação

Você deve garantir que o tamanho do buffer não exceda o tamanho máximo do pacote do provedor de serviços subjacente. Se isso acontecer, o datagrama não será enviado e Send gerará um SocketException. 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

A conclusão bem-sucedida de um envio não indica que os dados foram entregues com êxito. Se nenhum espaço de buffer estiver disponível no sistema de transporte para manter os dados a serem transmitidos, o envio será bloqueado, a menos que o soquete tenha sido colocado no modo de não bloqueio.

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

Send(ReadOnlySpan<Byte>, SocketFlags)

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

Envia dados para um conectado Socket usando o especificado SocketFlags.

public:
 int Send(ReadOnlySpan<System::Byte> buffer, System::Net::Sockets::SocketFlags socketFlags);
public int Send(ReadOnlySpan<byte> buffer, System.Net.Sockets.SocketFlags socketFlags);
member this.Send : ReadOnlySpan<byte> * System.Net.Sockets.SocketFlags -> int
Public Function Send (buffer As ReadOnlySpan(Of Byte), socketFlags As SocketFlags) As Integer

Parâmetros

buffer
ReadOnlySpan<Byte>

Um intervalo de bytes que contém os dados a serem enviados.

socketFlags
SocketFlags

Uma combinação bit a bit dos valores de enumeração que especifica comportamentos de envio e recebimento.

Retornos

O número de bytes enviados para o Socket.

Exceções

Erro ao tentar acessar o soquete.

Confira também

Aplica-se a

Send(Byte[])

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

Envia dados para um conectado Socket.

public:
 int Send(cli::array <System::Byte> ^ buffer);
public int Send(byte[] buffer);
member this.Send : byte[] -> int
Public Function Send (buffer As Byte()) As Integer

Parâmetros

buffer
Byte[]

Uma matriz de tipo Byte que contém os dados a serem enviados.

Retornos

O número de bytes enviados para o Socket.

Exceções

buffer é null.

Erro ao tentar acessar o soquete.

Exemplos

O exemplo de código a seguir demonstra o envio de dados em um conectado Socket.

// Displays sending with a connected socket
// using the overload that takes a buffer.
public static int SendReceiveTest1(Socket server)
{
    byte[] msg = Encoding.UTF8.GetBytes("This is a test");
    byte[] bytes = new byte[256];
    try
    {
        // Blocks until send returns.
        int i = server.Send(msg);
        Console.WriteLine("Sent {0} bytes.", i);

        // Get reply from the server.
        i = server.Receive(bytes);
        Console.WriteLine(Encoding.UTF8.GetString(bytes));
    }
    catch (SocketException e)
    {
        Console.WriteLine("{0} Error code: {1}.", e.Message, e.ErrorCode);
        return (e.ErrorCode);
    }
    return 0;
}
' Displays sending with a connected socket
' using the overload that takes a buffer.
Public Shared Function SendReceiveTest1(ByVal server As Socket) As Integer 
    Dim msg As Byte() = Encoding.UTF8.GetBytes("This is a test")
    Dim bytes(255) As Byte
    Try
        ' Blocks until send returns.
        Dim i As Integer = server.Send(msg)
        Console.WriteLine("Sent {0} bytes.", i)
        
        ' Get reply from the server.
        i = server.Receive(bytes)
        Console.WriteLine(Encoding.UTF8.GetString(bytes))
    Catch e As SocketException
        Console.WriteLine("{0} Error code: {1}.", e.Message, e.ErrorCode)
        Return e.ErrorCode
    End Try
    Return 0

End Function 'SendReceiveTest1

Comentários

Send envia dados de forma síncrona para o host remoto especificado no Connect método ou Accept e retorna o número de bytes enviados com êxito. Send pode ser usado para protocolos orientados à conexão e sem conexão.

Essa sobrecarga requer um buffer que contenha os dados que você deseja enviar. O SocketFlags valor usa como padrão 0, o deslocamento de buffer é padrão como 0 e o número de bytes para enviar padrões para o tamanho do buffer.

Se você estiver usando um protocolo sem conexão, deverá ligar Connect antes de chamar esse método ou Send gerará um SocketException. Se você estiver usando um protocolo orientado à conexão, deverá usar Connect para estabelecer uma conexão de host remoto ou usar Accept para aceitar uma conexão de entrada.

Se você estiver usando um protocolo sem conexão e planeja enviar dados para vários hosts diferentes, deverá usar o SendTo método. Se você não usar o SendTo método, precisará ligar Connect antes de cada chamada para Send. Você pode usar SendTo mesmo depois de estabelecer um host remoto padrão com Connect. Você também pode alterar o host remoto padrão antes de chamar Send fazendo outra chamada para Connect.

Se você estiver usando um protocolo orientado à conexão, Send bloqueará até que todos os bytes no buffer sejam enviados, a menos que um tempo limite tenha sido definido usando Socket.SendTimeout. Se o valor do tempo limite tiver sido excedido, a Send chamada gerará um SocketException. No modo de não bloqueio, Send pode ser concluído com êxito mesmo que envie menos do que o número de bytes no buffer. É responsabilidade do aplicativo controlar o número de bytes enviados e repetir a operação até que o aplicativo envie os bytes no buffer. Também não há nenhuma garantia de que os dados enviados serão exibidos na rede imediatamente. Para aumentar a eficiência de rede, o sistema subjacente pode atrasar a transmissão até que uma quantidade significativa de dados de saída seja coletada. Uma conclusão bem-sucedida do Send método significa que o sistema subjacente teve espaço para armazenar em buffer seus dados para um envio de rede.

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

A conclusão bem-sucedida de um envio não indica que os dados foram entregues com êxito. Se nenhum espaço de buffer estiver disponível no sistema de transporte para manter os dados a serem transmitidos, o envio será bloqueado, a menos que o soquete tenha sido colocado no modo de não bloqueio.

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