Socket.Send 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.
Envia dados para um .Socket
Sobrecargas
| Name | Description |
|---|---|
| Send(Byte[]) |
Envia dados para um .Socket |
| Send(Byte[], Int32, Int32, SocketFlags, SocketError) |
Envia o número especificado de bytes de dados para um conjunto conectado Socket, começando no deslocamento especificado, e usando o especificado SocketFlags. |
| Send(Byte[], Int32, Int32, SocketFlags) |
Envia o número especificado de bytes de dados para um conjunto 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 Socket, usando o especificado SocketFlags. |
| Send(Byte[], Int32, SocketFlags) |
Envia o número especificado de bytes de dados para um conjunto conectado Socket, usando o especificado SocketFlags. |
| Send(ReadOnlySpan<Byte>, SocketFlags, SocketError) |
Envia dados para um ligado Socket usando o especificado SocketFlags. |
| Send(IList<ArraySegment<Byte>>, SocketFlags) |
Envia o conjunto de buffers na lista para um conectado Socket, usando o especificado SocketFlags. |
| Send(Byte[], SocketFlags) |
Envia dados para um ligado Socket usando o especificado SocketFlags. |
| Send(ReadOnlySpan<Byte>) |
Envia dados para um .Socket |
| Send(IList<ArraySegment<Byte>>) |
Envia o conjunto de buffers na lista para um .Socket |
| Send(ReadOnlySpan<Byte>, SocketFlags) |
Envia dados para um ligado Socket usando o especificado SocketFlags. |
Send(Byte[])
Envia dados para um .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
Devoluções
O número de bytes enviados para o Socket.
Exceções
buffer é null.
Ocorreu um erro ao tentar aceder ao soquete.
O Socket local foi encerrado.
Exemplos
O exemplo de código seguinte demonstra o envio de dados num .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
Observações
Send Envia dados de forma síncrona para o host remoto especificado no Connect método OR Accept e retorna o número de bytes enviados com sucesso. Send pode ser usado tanto para protocolos orientados a ligação como sem ligação.
Esta sobrecarga requer um buffer que contenha os dados que pretende enviar. O SocketFlags valor por defeito é 0, o deslocamento do buffer é 0, e o número de bytes a enviar corresponde ao tamanho do buffer.
Se estiver a usar um protocolo sem conexão, deve chamar Connect antes de chamar este método, ou Send irá lançar um SocketException. Se estiver a usar um protocolo orientado a ligações, deve usar Connect para estabelecer uma ligação hoste remota, ou usar Accept para aceitar uma ligação recebida.
Se estiver a usar um protocolo sem ligação e planeia enviar dados para vários hosts diferentes, deve usar o SendTo método. Se não usar o SendTo método, terá de ligar Connect antes de cada chamada para Send. Pode usar SendTo mesmo depois de ter estabelecido um host remoto predefinido com Connect. Também pode alterar o host remoto predefinido antes de ligar Send , fazendo outra chamada para Connect.
Se estiver a usar um protocolo orientado à ligação, Send irá bloquear até que todos os bytes do buffer sejam enviados, a menos que tenha sido definido um time-out usando Socket.SendTimeout. Se o valor de time-out for ultrapassado, a Send chamada lançará um SocketException. Em modo não bloqueante, Send pode ser concluído com sucesso mesmo que envie menos do que o número de bytes no buffer. É responsabilidade da sua aplicação acompanhar o número de bytes enviados e tentar novamente a operação até que a aplicação envie os bytes no buffer. Também não há garantia de que os dados que envia apareçam imediatamente na rede. Para aumentar a eficiência da rede, o sistema subjacente pode atrasar a transmissão até que uma quantidade significativa de dados de saída seja recolhida. A conclusão bem-sucedida do Send método significa que o sistema subjacente teve espaço para armazenar os seus dados para um envio em rede.
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
A conclusão bem-sucedida de um envio não indica que os dados foram entregues com sucesso. Se não houver espaço de buffer disponível dentro do sistema de transporte para armazenar os dados a transmitir, enviar irá bloquear, a menos que o socket tenha sido colocado em modo não bloqueante.
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
- Connect(EndPoint)
- SendTo(Byte[], Int32, Int32, SocketFlags, EndPoint)
- SocketFlags
- SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)
Aplica-se a
Send(Byte[], Int32, Int32, SocketFlags, SocketError)
Envia o número especificado de bytes de dados para um conjunto 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
- offset
- Int32
A posição no buffer de dados onde começar a enviar dados.
- size
- Int32
O número de bytes a enviar.
- socketFlags
- SocketFlags
Uma combinação bit a bit dos SocketFlags valores.
- errorCode
- SocketError
Um SocketError objeto que armazena o erro do soquete.
Devoluções
O número de bytes enviados para o Socket.
Exceções
buffer é null.
offset é inferior a 0.
-ou-
offset é maior do que o comprimento de buffer.
-ou-
size é inferior a 0.
-ou-
size é maior do 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 operativo ao aceder ao Socketarquivo .
O Socket local foi encerrado.
Exemplos
O seguinte exemplo de código especifica o buffer de dados, um deslocamento, um tamanho e SocketFlags para enviar dados para um .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
Observações
Send Envia dados de forma síncrona para o host remoto especificado no Connect método OR Accept e retorna o número de bytes enviados com sucesso. Send pode ser usado tanto para protocolos orientados a ligação como sem ligação.
Nesta sobrecarga, se especificar a DontRoute flag como parâmetro socketflags , os dados que está a enviar não serão encaminhados.
Se estiver a usar um protocolo sem conexão, deve chamar Connect antes de chamar este método, caso contrário Send irá lançar um SocketException. Se estiver a usar um protocolo orientado a ligações, deve usar Connect para estabelecer uma ligação hoste remota, ou usar Accept para aceitar uma ligação recebida.
Se estiver a usar um protocolo sem ligação e planeia enviar dados para vários hosts diferentes, deve usar SendTo. Se não usar SendTo, terá de ligar Connect antes de cada chamada para Send. É aceitável usar SendTo mesmo depois de ter estabelecido um host remoto por defeito com Connect. Também pode alterar o host remoto predefinido antes de ligar Send , fazendo outra chamada para Connect.
Deve também garantir que o tamanho não excede o tamanho máximo do pacote do fornecedor de serviço subjacente. Se o fizer, o datagrama não será enviado e Send irá lançar um SocketException.
Se estiver a usar um protocolo orientado à ligação, Send irá bloquear até que o número solicitado de bytes seja enviado, a menos que um time-out tenha sido definido usando Socket.SendTimeout. Se o valor de time-out for ultrapassado, a Send chamada lançará um SocketException. Em modo não bloqueante, Send pode ser concluído com sucesso mesmo que envie menos do que o número de bytes que solicita. É responsabilidade da sua aplicação acompanhar o número de bytes enviados e tentar novamente a operação até que a aplicação envie o número de bytes solicitado. Também não há garantia de que os dados que envia apareçam imediatamente na rede. Para aumentar a eficiência da rede, o sistema subjacente pode atrasar a transmissão até que uma quantidade significativa de dados de saída seja recolhida. A conclusão bem-sucedida do Send método significa que o sistema subjacente teve espaço para armazenar os seus dados para um envio em rede.
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
A conclusão bem-sucedida de um envio não indica que os dados foram entregues com sucesso. Se não houver espaço de buffer disponível dentro do sistema de transporte para armazenar os dados a transmitir, enviar irá bloquear, a menos que o socket tenha sido colocado em modo não bloqueante.
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
- Connect(EndPoint)
- SendTo(Byte[], Int32, Int32, SocketFlags, EndPoint)
- SocketFlags
- SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)
Aplica-se a
Send(Byte[], Int32, Int32, SocketFlags)
Envia o número especificado de bytes de dados para um conjunto 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
- offset
- Int32
A posição no buffer de dados onde começar a enviar dados.
- size
- Int32
O número de bytes a enviar.
- socketFlags
- SocketFlags
Uma combinação bit a bit dos SocketFlags valores.
Devoluções
O número de bytes enviados para o Socket.
Exceções
buffer é null.
offset é inferior a 0.
-ou-
offset é maior do que o comprimento de buffer.
-ou-
size é inferior a 0.
-ou-
size é maior do 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 operativo ao aceder ao Socketarquivo .
O Socket local foi encerrado.
Exemplos
O seguinte exemplo de código especifica o buffer de dados, um deslocamento, um tamanho e SocketFlags para enviar dados para um .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
Observações
Send Envia dados de forma síncrona para o host remoto especificado no Connect método OR Accept e retorna o número de bytes enviados com sucesso. Send pode ser usado tanto para protocolos orientados a ligação como sem ligação.
Nesta sobrecarga, se especificar a DontRoute flag como parâmetro socketflags , os dados que está a enviar não serão encaminhados.
Se estiver a usar um protocolo sem conexão, deve chamar Connect antes de chamar este método, caso contrário Send irá lançar um SocketException. Se estiver a usar um protocolo orientado a ligações, deve usar Connect para estabelecer uma ligação hoste remota, ou usar Accept para aceitar uma ligação recebida.
Se estiver a usar um protocolo sem ligação e planeia enviar dados para vários hosts diferentes, deve usar SendTo. Se não usar SendTo, terá de ligar Connect antes de cada chamada para Send. É aceitável usar SendTo mesmo depois de ter estabelecido um host remoto por defeito com Connect. Também pode alterar o host remoto predefinido antes de ligar Send , fazendo outra chamada para Connect.
Deve também garantir que o tamanho não excede o tamanho máximo do pacote do fornecedor de serviço subjacente. Se o fizer, o datagrama não será enviado e Send irá lançar um SocketException.
Se estiver a usar um protocolo orientado à ligação, Send irá bloquear até que o número solicitado de bytes seja enviado, a menos que um time-out tenha sido definido usando Socket.SendTimeout. Se o valor de time-out for ultrapassado, a Send chamada lançará um SocketException. Em modo não bloqueante, Send pode ser concluído com sucesso mesmo que envie menos do que o número de bytes que solicita. É responsabilidade da sua aplicação acompanhar o número de bytes enviados e tentar novamente a operação até que a aplicação envie o número de bytes solicitado. Também não há garantia de que os dados que envia apareçam imediatamente na rede. Para aumentar a eficiência da rede, o sistema subjacente pode atrasar a transmissão até que uma quantidade significativa de dados de saída seja recolhida. A conclusão bem-sucedida do Send método significa que o sistema subjacente teve espaço para armazenar os seus dados para um envio em rede.
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
A conclusão bem-sucedida de um envio não indica que os dados foram entregues com sucesso. Se não houver espaço de buffer disponível dentro do sistema de transporte para armazenar os dados a transmitir, enviar irá bloquear, a menos que o socket tenha sido colocado em modo não bloqueante.
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
- Connect(EndPoint)
- SendTo(Byte[], Int32, Int32, SocketFlags, EndPoint)
- SocketFlags
- SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)
Aplica-se a
Send(IList<ArraySegment<Byte>>, SocketFlags, SocketError)
Envia o conjunto de buffers na lista para um conectado Socket, usando o especificado 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 enviar.
- socketFlags
- SocketFlags
Uma combinação bit a bit dos SocketFlags valores.
- errorCode
- SocketError
Um SocketError objeto que armazena o erro do soquete.
Devoluções
O número de bytes enviados para o Socket.
Exceções
buffers é null.
buffers está vazio.
Ocorreu um erro ao tentar aceder ao soquete.
O Socket local foi encerrado.
Observações
Esta sobrecarga requer pelo menos um buffer que contenha os dados que pretende enviar. O SocketFlags valor é 0 por defeito. Se especificar o DontRoute flag como parâmetro socketFlags , os dados que está a enviar não serão encaminhados.
Se estiver a usar um protocolo sem conexão, deve chamar Connect antes de chamar este método, ou Send irá lançar um SocketException. Se estiver a usar um protocolo orientado a ligações, deve usar Connect para estabelecer uma ligação hoste remota, ou usar Accept para aceitar uma ligação recebida.
Se estiver a usar um protocolo sem ligação e planeia enviar dados para vários hosts diferentes, deve usar o SendTo método. Se não usar o SendTo método, terá de ligar Connect antes de cada chamada para Send. Pode usar SendTo mesmo depois de ter estabelecido um host remoto predefinido com Connect. Também pode alterar o host remoto predefinido antes de ligar Send , fazendo outra chamada para Connect.
Se estiver a usar um protocolo orientado à ligação, Send irá bloquear até que todos os bytes do buffer sejam enviados, a menos que tenha sido definido um time-out usando Socket.SendTimeout. Se o valor de time-out for ultrapassado, a Send chamada lançará um SocketException. Em modo não bloqueante, Send pode ser concluído com sucesso mesmo que envie menos do que o número de bytes no buffer. É responsabilidade da sua aplicação acompanhar o número de bytes enviados e tentar novamente a operação até que a aplicação envie os bytes no buffer. Também não há garantia de que os dados que envia apareçam imediatamente na rede. Para aumentar a eficiência da rede, o sistema subjacente pode atrasar a transmissão até que uma quantidade significativa de dados de saída seja recolhida. A conclusão bem-sucedida do Send método significa que o sistema subjacente teve espaço para armazenar os seus dados para um envio em rede.
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
A conclusão bem-sucedida de um envio não indica que os dados foram entregues com sucesso. Se não houver espaço de buffer disponível dentro do sistema de transporte para armazenar os dados a transmitir, enviar irá bloquear, a menos que o socket tenha sido colocado em modo não bloqueante.
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.
Aplica-se a
Send(Byte[], Int32, SocketFlags)
Envia o número especificado de bytes de dados para um conjunto conectado Socket, usando 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
- size
- Int32
O número de bytes a enviar.
- socketFlags
- SocketFlags
Uma combinação bit a bit dos SocketFlags valores.
Devoluções
O número de bytes enviados para o Socket.
Exceções
buffer é null.
size é inferior a 0 ou excede o tamanho do buffer.
socketFlags não é uma combinação válida de valores.
-ou-
Ocorre um erro do sistema operativo ao aceder ao socket.
O Socket local foi encerrado.
Exemplos
O seguinte exemplo de código 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
Observações
Send Envia dados de forma síncrona para o host remoto estabelecido no Connect método OR Accept e devolve o número de bytes enviados com sucesso. Send pode ser usado tanto para protocolos orientados a ligação como sem ligação.
Esta sobrecarga requer um buffer que contenha os dados que pretende enviar, o número de bytes que deseja enviar e uma combinação bit a bit de qualquer SocketFlags. Se especificar a DontRoute flag como parâmetro socketflags , os dados que está a enviar não serão encaminhados.
Se estiver a usar um protocolo sem conexão, deve chamar Connect antes de chamar este método, ou Send irá lançar um SocketException. Se estiver a usar um protocolo orientado para conexões, deve usar Connect para estabelecer uma ligação host-host remota, ou usar Accept para aceitar uma ligação recebida.
Se estiveres a usar um protocolo sem ligação e planeias enviar dados para vários hosts diferentes, deves usar o SendTo método. Se não usar o SendTo método, terá de chamá-lo Connect antes de cada chamada ao Send método. Pode usar SendTo mesmo depois de ter estabelecido um host remoto por defeito com Connect. Também pode alterar o host remoto predefinido antes de ligar Send , fazendo outra chamada para Connect.
Com um protocolo orientado à ligação, Send irá bloquear até que o número solicitado de bytes seja enviado, a menos que um time-out tenha sido definido usando Socket.SendTimeout. Se o valor de time-out for ultrapassado, a Send chamada lançará um SocketException. Em modo não bloqueante, Send pode ser concluído com sucesso mesmo que envie menos do que o número de bytes que solicita. É responsabilidade da sua aplicação acompanhar o número de bytes enviados e tentar novamente a operação até que a aplicação envie o número de bytes solicitado. Também não há garantia de que os dados que envia apareçam imediatamente na rede. Para aumentar a eficiência da rede, o sistema subjacente pode atrasar a transmissão até que uma quantidade significativa de dados de saída seja recolhida. A conclusão bem-sucedida do Send método significa que o sistema subjacente teve espaço para armazenar os seus dados para um envio em rede.
Note
Deve garantir que o tamanho não ultrapassa o tamanho máximo do pacote do fornecedor de serviço subjacente. Se o fizer, o datagrama não será enviado e Send irá lançar um SocketException. 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.
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.
Importante
A conclusão bem-sucedida de um envio não indica que os dados foram entregues com sucesso. Se não houver espaço de buffer disponível dentro do sistema de transporte para armazenar os dados a transmitir, enviar irá bloquear, a menos que o socket tenha sido colocado em modo não bloqueante.
Ver também
- Connect(EndPoint)
- SendTo(Byte[], Int32, Int32, SocketFlags, EndPoint)
- SocketFlags
- SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)
Aplica-se a
Send(ReadOnlySpan<Byte>, SocketFlags, SocketError)
Envia dados para um ligado 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 enviar.
- socketFlags
- SocketFlags
Uma combinação bit a bit dos valores de enumeração que especifica comportamentos de enviar e receber.
- errorCode
- SocketError
Quando este método retorna, contém um dos valores de enumeração que define códigos de erro para o soquete.
Devoluções
O número de bytes enviados para o Socket.
Exceções
Ocorreu um erro ao tentar aceder ao soquete.
O Socket local foi encerrado.
Observações
Send Envia dados de forma síncrona para o host remoto especificado no Connect método OR Accept e retorna o número de bytes enviados com sucesso. Send pode ser usado tanto para protocolos orientados a ligação como sem ligação.
Esta sobrecarga requer um buffer que contenha os dados que pretende enviar. O SocketFlags valor por defeito é 0, o deslocamento do buffer é 0, e o número de bytes a enviar corresponde ao tamanho do buffer.
Se estiver a usar um protocolo sem conexão, deve chamar Connect antes de chamar este método, ou Send irá lançar um SocketException. Se estiver a usar um protocolo orientado para conexões, deve usar Connect para estabelecer uma ligação host-host remota, ou usar Accept para aceitar uma ligação recebida.
Se estiveres a usar um protocolo sem ligação e planeias enviar dados para vários hosts diferentes, deves usar o SendTo método. Se não usar o SendTo método, terá de ligar Connect antes de cada chamada para Send. Pode usar SendTo mesmo depois de ter estabelecido um host remoto por defeito com Connect. Também pode alterar o host remoto predefinido antes de ligar Send , fazendo outra chamada para Connect.
Se estiver a usar um protocolo orientado à ligação, Send irá bloquear até que todos os bytes do buffer sejam enviados, a menos que um time-out tenha sido definido usando Socket.SendTimeout. Se o valor de time-out for ultrapassado, a Send chamada lançará um SocketException. Em modo não bloqueante, Send pode ser concluído com sucesso mesmo que envie menos do que o número de bytes no buffer. É responsabilidade da sua aplicação acompanhar o número de bytes enviados e tentar novamente a operação até que a aplicação envie os bytes no buffer. Também não há garantia de que os dados que envia apareçam imediatamente na rede. Para aumentar a eficiência da rede, o sistema subjacente pode atrasar a transmissão até que uma quantidade significativa de dados de saída seja recolhida. A conclusão bem-sucedida do Send método significa que o sistema subjacente teve espaço para armazenar os seus dados para um envio em rede.
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 Sockets versão 2 para uma descrição detalhada do erro.
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.
Importante
A conclusão bem-sucedida de um envio não indica que os dados foram entregues com sucesso. Se não houver espaço de buffer disponível dentro do sistema de transporte para armazenar os dados a transmitir, enviar irá bloquear, a menos que o socket tenha sido colocado em modo não bloqueante.
Ver também
- Connect(EndPoint)
- SendTo(Byte[], Int32, Int32, SocketFlags, EndPoint)
- SocketFlags
- SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)
Aplica-se a
Send(IList<ArraySegment<Byte>>, SocketFlags)
Envia o conjunto de buffers na lista para um conectado Socket, usando o especificado 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 enviar.
- socketFlags
- SocketFlags
Uma combinação bit a bit dos SocketFlags valores.
Devoluções
O número de bytes enviados para o Socket.
Exceções
buffers é null.
buffers está vazio.
Ocorreu um erro ao tentar aceder ao soquete.
O Socket local foi encerrado.
Observações
Esta sobrecarga requer pelo menos um buffer que contenha os dados que pretende enviar. O SocketFlags valor é 0 por defeito. Se especificar o DontRoute flag como parâmetro socketFlags , os dados que está a enviar não serão encaminhados.
Se estiver a usar um protocolo sem conexão, deve chamar Connect antes de chamar este método, ou Send irá lançar um SocketException. Se estiver a usar um protocolo orientado a ligações, deve usar Connect para estabelecer uma ligação hoste remota, ou usar Accept para aceitar uma ligação recebida.
Se estiver a usar um protocolo sem ligação e planeia enviar dados para vários hosts diferentes, deve usar o SendTo método. Se não usar o SendTo método, terá de ligar Connect antes de cada chamada para Send. Pode usar SendTo mesmo depois de ter estabelecido um host remoto predefinido com Connect. Também pode alterar o host remoto predefinido antes de ligar Send , fazendo outra chamada para Connect.
Se estiver a usar um protocolo orientado à ligação, Send irá bloquear até que todos os bytes do buffer sejam enviados, a menos que tenha sido definido um time-out usando Socket.SendTimeout. Se o valor de time-out for ultrapassado, a Send chamada lançará um SocketException. Em modo não bloqueante, Send pode ser concluído com sucesso mesmo que envie menos do que o número de bytes no buffer. É responsabilidade da sua aplicação acompanhar o número de bytes enviados e tentar novamente a operação até que a aplicação envie os bytes no buffer. Também não há garantia de que os dados que envia apareçam imediatamente na rede. Para aumentar a eficiência da rede, o sistema subjacente pode atrasar a transmissão até que uma quantidade significativa de dados de saída seja recolhida. A conclusão bem-sucedida do Send método significa que o sistema subjacente teve espaço para armazenar os seus dados para um envio em rede.
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
A conclusão bem-sucedida de um envio não indica que os dados foram entregues com sucesso. Se não houver espaço de buffer disponível dentro do sistema de transporte para armazenar os dados a transmitir, enviar irá bloquear, a menos que o socket tenha sido colocado em modo não bloqueante.
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.
Aplica-se a
Send(Byte[], SocketFlags)
Envia dados para um ligado 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
- socketFlags
- SocketFlags
Uma combinação bit a bit dos SocketFlags valores.
Devoluções
O número de bytes enviados para o Socket.
Exceções
buffer é null.
Ocorreu um erro ao tentar aceder ao soquete.
O Socket local foi encerrado.
Exemplos
O exemplo de código seguinte demonstra o envio de dados num .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
Observações
Send Envia dados de forma síncrona para o host remoto estabelecido no Connect método OR Accept e devolve o número de bytes enviados com sucesso. O Send método pode ser usado tanto para protocolos orientados por ligação como sem conexão.
Esta sobrecarga requer um buffer que contenha os dados que pretende enviar e uma combinação bit a bit de SocketFlags. O deslocamento do buffer é 0 por defeito, e o número de bytes a enviar corresponde ao tamanho do buffer. Se especificar o DontRoute flag como valor do socketflags parâmetro, os dados que está a enviar não serão encaminhados.
Se estiver a usar um protocolo sem conexão, deve chamar Connect antes de chamar este método, ou Send irá lançar um SocketException. Se estiver a usar um protocolo orientado a ligações, deve usar Connect para estabelecer uma ligação hoste remota, ou usar Accept para aceitar uma ligação recebida.
Se estiver a usar um protocolo sem ligação e planeia enviar dados para vários hosts diferentes, deve usar o SendTo método. Se não usar o SendTo método, terá de chamar o Connect método antes de cada chamada para Send. Pode usar SendTo mesmo depois de ter estabelecido um host remoto predefinido com Connect. Também pode alterar o host remoto predefinido antes de ligar Send , fazendo outra chamada para Connect.
Se estiver a usar um protocolo orientado à ligação, Send irá bloquear até que todos os bytes do buffer sejam enviados, a menos que tenha sido definido um time-out usando Socket.SendTimeout. Se o valor de time-out for ultrapassado, a Send chamada lançará um SocketException. Em modo não bloqueante, Send pode ser concluído com sucesso mesmo que envie menos do que o número de bytes no buffer. É responsabilidade da sua aplicação acompanhar o número de bytes enviados e tentar novamente a operação até que a aplicação envie o número de bytes solicitado. Também não há garantia de que os dados que envia apareçam imediatamente na rede. Para aumentar a eficiência da rede, o sistema subjacente pode atrasar a transmissão até que uma quantidade significativa de dados de saída seja recolhida. A conclusão bem-sucedida do Send método significa que o sistema subjacente teve espaço para armazenar os seus dados para um envio em rede.
Note
Deve garantir que o tamanho do seu buffer não excede o tamanho máximo do pacote do fornecedor de serviço subjacente. Se o fizer, o datagrama não será enviado e Send irá lançar um SocketException. 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
A conclusão bem-sucedida de um envio não indica que os dados foram entregues com sucesso. Se não houver espaço de buffer disponível dentro do sistema de transporte para armazenar os dados a transmitir, enviar irá bloquear, a menos que o socket tenha sido colocado em modo não bloqueante.
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
- Connect(EndPoint)
- SendTo(Byte[], Int32, Int32, SocketFlags, EndPoint)
- SocketFlags
- SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)
Aplica-se a
Send(ReadOnlySpan<Byte>)
Envia dados para um .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 enviar.
Devoluções
O número de bytes enviados para o Socket.
Exceções
Ocorreu um erro ao tentar aceder ao soquete.
O Socket local foi encerrado.
Observações
Send Envia dados de forma síncrona para o host remoto especificado no Connect método OR Accept e retorna o número de bytes enviados com sucesso. Send pode ser usado tanto para protocolos orientados a ligação como sem ligação.
Esta sobrecarga requer um buffer que contenha os dados que pretende enviar. O SocketFlags valor por defeito é 0, o deslocamento do buffer é 0, e o número de bytes a enviar corresponde ao tamanho do buffer.
Se estiver a usar um protocolo sem conexão, deve chamar Connect antes de chamar este método, ou Send irá lançar um SocketException. Se estiver a usar um protocolo orientado para conexões, deve usar Connect para estabelecer uma ligação host-host remota, ou usar Accept para aceitar uma ligação recebida.
Se estiveres a usar um protocolo sem ligação e planeias enviar dados para vários hosts diferentes, deves usar o SendTo método. Se não usar o SendTo método, terá de ligar Connect antes de cada chamada para Send. Pode usar SendTo mesmo depois de ter estabelecido um host remoto predefinido com Connect. Também pode alterar o host remoto predefinido antes de ligar Send , fazendo outra chamada para Connect.
Se estiver a usar um protocolo orientado à ligação, Send irá bloquear até que todos os bytes do buffer sejam enviados, a menos que um time-out tenha sido definido usando Socket.SendTimeout. Se o valor de time-out for ultrapassado, a Send chamada lançará um SocketException. Em modo não bloqueante, Send pode ser concluído com sucesso mesmo que envie menos do que o número de bytes no buffer. É responsabilidade da sua aplicação acompanhar o número de bytes enviados e tentar novamente a operação até que a aplicação envie os bytes no buffer. Também não há garantia de que os dados que envia apareçam imediatamente na rede. Para aumentar a eficiência da rede, o sistema subjacente pode atrasar a transmissão até que uma quantidade significativa de dados de saída seja recolhida. A conclusão bem-sucedida do Send método significa que o sistema subjacente teve espaço para armazenar os seus dados para um envio em rede.
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.
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.
Importante
A conclusão bem-sucedida de um envio não indica que os dados foram entregues com sucesso. Se não houver espaço de buffer disponível dentro do sistema de transporte para armazenar os dados a transmitir, enviar irá bloquear, a menos que o socket tenha sido colocado em modo não bloqueante.
Ver também
- Connect(EndPoint)
- SendTo(Byte[], Int32, Int32, SocketFlags, EndPoint)
- SocketFlags
- SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)
Aplica-se a
Send(IList<ArraySegment<Byte>>)
Envia o conjunto de buffers na lista para um .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 enviar.
Devoluções
O número de bytes enviados para o Socket.
Exceções
buffers é null.
buffers está vazio.
Ocorreu um erro ao tentar aceder ao soquete. Consulte a secção de observações abaixo.
O Socket local foi encerrado.
Observações
Send pode ser usado tanto para protocolos orientados a ligação como sem ligação.
Esta sobrecarga requer pelo menos um buffer que contenha os dados que pretende enviar.
Se estiver a usar um protocolo sem conexão, deve chamar Connect antes de chamar este método, ou Send irá lançar um SocketException. Se estiver a usar um protocolo orientado a ligações, deve usar Connect para estabelecer uma ligação hoste remota, ou usar Accept para aceitar uma ligação recebida.
Se estiver a usar um protocolo sem ligação e planeia enviar dados para vários hosts diferentes, deve usar o SendTo método. Se não usar o SendTo método, terá de ligar Connect antes de cada chamada para Send. Pode usar SendTo mesmo depois de ter estabelecido um host remoto predefinido com Connect. Também pode alterar o host remoto predefinido antes de ligar Send , fazendo outra chamada para Connect.
Se estiver a usar um protocolo orientado à ligação, Send irá bloquear até que todos os bytes do buffer sejam enviados, a menos que tenha sido definido um time-out usando Socket.SendTimeout. Se o valor de time-out for ultrapassado, a Send chamada lançará um SocketException. Em modo não bloqueante, Send pode ser concluído com sucesso mesmo que envie menos do que o número de bytes no buffer. É responsabilidade da sua aplicação acompanhar o número de bytes enviados e tentar novamente a operação até que a aplicação envie os bytes no buffer. Também não há garantia de que os dados que envia apareçam imediatamente na rede. Para aumentar a eficiência da rede, o sistema subjacente pode atrasar a transmissão até que uma quantidade significativa de dados de saída seja recolhida. A conclusão bem-sucedida do Send método significa que o sistema subjacente teve espaço para armazenar os seus dados para um envio em rede.
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
A conclusão bem-sucedida de um envio não indica que os dados foram entregues com sucesso. Se não houver espaço de buffer disponível dentro do sistema de transporte para armazenar os dados a transmitir, enviar irá bloquear, a menos que o socket tenha sido colocado em modo não bloqueante.
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.
Aplica-se a
Send(ReadOnlySpan<Byte>, SocketFlags)
Envia dados para um ligado 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 enviar.
- socketFlags
- SocketFlags
Uma combinação bit a bit dos valores de enumeração que especifica comportamentos de enviar e receber.
Devoluções
O número de bytes enviados para o Socket.
Exceções
Ocorreu um erro ao tentar aceder ao soquete.
O Socket local foi encerrado.
Ver também
- Connect(EndPoint)
- SendTo(Byte[], Int32, Int32, SocketFlags, EndPoint)
- SocketFlags
- SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)