Socket.ReceiveFrom 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.
Recebe um datagrama e armazena o endpoint de origem.
Sobrecargas
| Name | Description |
|---|---|
| ReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint) |
Recebe o número especificado de bytes de dados na localização especificada do buffer de dados, usando o especificado SocketFlags, e armazena o endpoint. |
| ReceiveFrom(Byte[], Int32, SocketFlags, EndPoint) |
Recebe o número especificado de bytes no data buffer, usando o especificado SocketFlags, e armazena o endpoint. |
| ReceiveFrom(Byte[], SocketFlags, EndPoint) |
Recebe um datagrama no buffer de dados, usando o especificado SocketFlags, e armazena o endpoint. |
| ReceiveFrom(Byte[], EndPoint) |
Recebe um datagrama no buffer de dados e armazena o endpoint. |
ReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint)
Recebe o número especificado de bytes de dados na localização especificada do buffer de dados, usando o especificado SocketFlags, e armazena o endpoint.
public:
int ReceiveFrom(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, System::Net::EndPoint ^ % remoteEP);
public int ReceiveFrom(byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, ref System.Net.EndPoint remoteEP);
member this.ReceiveFrom : byte[] * int * int * System.Net.Sockets.SocketFlags * EndPoint -> int
Public Function ReceiveFrom (buffer As Byte(), offset As Integer, size As Integer, socketFlags As SocketFlags, ByRef remoteEP As EndPoint) As Integer
Parâmetros
- offset
- Int32
A posição no buffer parâmetro para armazenar os dados recebidos.
- size
- Int32
O número de bytes a receber.
- socketFlags
- SocketFlags
Uma combinação bit a bit dos SocketFlags valores.
- remoteEP
- EndPoint
Uma referência a um EndPoint do mesmo tipo que o endpoint do host remoto a ser atualizado em caso de receção bem-sucedida.
Devoluções
O número de bytes recebidos.
Exceções
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 do buffer menos o valor do parâmetro de deslocamento.
socketFlags não é uma combinação válida de valores.
-ou-
A LocalEndPoint propriedade não estava definida.
-ou-
Ocorreu um erro ao tentar aceder ao soquete.
O Socket local foi encerrado.
Exemplos
O exemplo de código seguinte recebe um datagrama sem ligação de um host remoto. O deslocamento, o tamanho do buffer e SocketFlags são passados para o ReceiveFrom método.
public static void ReceiveFrom4()
{
IPHostEntry hostEntry = Dns.GetHostEntry(Dns.GetHostName());
IPEndPoint endPoint = new IPEndPoint(hostEntry.AddressList[0], 11000);
Socket s = new Socket(endPoint.Address.AddressFamily,
SocketType.Dgram,
ProtocolType.Udp);
// Creates an IpEndPoint to capture the identity of the sending host.
IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0);
EndPoint senderRemote = (EndPoint)sender;
// Binding is required with ReceiveFrom calls.
s.Bind(endPoint);
byte[] msg = new Byte[256];
Console.WriteLine("Waiting to receive datagrams from client...");
// This call blocks.
s.ReceiveFrom(msg, 0, msg.Length, SocketFlags.None, ref senderRemote);
s.Close();
}
Public Shared Sub ReceiveFrom4()
Dim hostEntry As IPHostEntry = Dns.GetHostEntry(Dns.GetHostName())
Dim endPoint As New IPEndPoint(hostEntry.AddressList(0), 11000)
Dim s As New Socket(endPoint.Address.AddressFamily, SocketType.Dgram, ProtocolType.Udp)
' Creates an IpEndPoint to capture the identity of the sending host.
Dim sender As New IPEndPoint(IPAddress.Any, 0)
Dim senderRemote As EndPoint = CType(sender, EndPoint)
' Binding is required with ReceiveFrom calls.
s.Bind(endPoint)
Dim msg() As Byte = New [Byte](255) {}
Console.WriteLine("Waiting to receive datagrams from client...")
' This call blocks.
s.ReceiveFrom(msg, 0, msg.Length, SocketFlags.None, senderRemote)
s.Close()
End Sub
Observações
O ReceiveFrom método lê dados no buffer parâmetro, devolve o número de bytes lidos com sucesso e captura o endpoint remoto do host de onde os dados foram enviados. Este método é útil se pretende receber datagramas sem ligação de um host desconhecido ou de múltiplos hosts.
Com protocolos sem conexão, ReceiveFrom irá ler o primeiro datagrama enfileirado recebido no buffer de rede local. Se o datagrama que receber for maior do que o tamanho de buffer, o ReceiveFrom método preencherá buffer com o máximo possível da mensagem e lançará um SocketException. Se estiver a usar um protocolo pouco fiável, os dados em excesso serão perdidos. Se estiver a usar um protocolo fiável, os dados excedentes serão retidos pelo fornecedor de serviços e pode recuperá-los chamando o ReceiveFrom método com um buffer suficientemente grande.
Se não houver dados disponíveis para leitura, o ReceiveFrom método bloqueia até que os dados estejam disponíveis. Se estiver em modo não bloqueante, e não houver dados disponíveis no buffer da pilha de protocolos, o ReceiveFrom método será completado imediatamente e lançará um SocketException. Pode usar a Available propriedade para determinar se há dados disponíveis para leitura. Quando Available for diferente de zero, tente novamente a operação de receção.
Embora ReceiveFrom seja destinado a protocolos sem ligação, também pode usar um protocolo orientado à ligação. Se optar por isso, deve primeiro estabelecer uma ligação remota ao host chamando o Connect método ou aceitar uma ligação remota ao host ao chamar o Accept método. Se não estabelecer ou aceitar uma ligação antes de ligar para o ReceiveFrom método, receberá um SocketException. Também pode estabelecer um host remoto predefinido para um protocolo sem ligação antes de chamar o ReceiveFrom método.
Com sockets orientados para ligação, ReceiveFrom irá ler tantos dados quanto estiver disponível até ao número de bytes especificado pelo size parâmetro. Se o host remoto desligar a Socket ligação com o Shutdown método e todos os dados disponíveis forem recebidos, o ReceiveFrom método será concluído imediatamente e devolverá zero bytes.
Note
Antes de chamar ReceiveFrom, deve vincular explicitamente o Socket a um endpoint local usando o Bind método. Se não o fizer, ReceiveFrom 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
O AddressFamily do usado em ReceiveFrom precisa de corresponder ao AddressFamily do EndPoint usado em SendToEndPoint .
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)
- Receive(Byte[], Int32, SocketFlags)
- Available
- Shutdown(SocketShutdown)
- Close()
- SocketFlags
Aplica-se a
ReceiveFrom(Byte[], Int32, SocketFlags, EndPoint)
Recebe o número especificado de bytes no data buffer, usando o especificado SocketFlags, e armazena o endpoint.
public:
int ReceiveFrom(cli::array <System::Byte> ^ buffer, int size, System::Net::Sockets::SocketFlags socketFlags, System::Net::EndPoint ^ % remoteEP);
public int ReceiveFrom(byte[] buffer, int size, System.Net.Sockets.SocketFlags socketFlags, ref System.Net.EndPoint remoteEP);
member this.ReceiveFrom : byte[] * int * System.Net.Sockets.SocketFlags * EndPoint -> int
Public Function ReceiveFrom (buffer As Byte(), size As Integer, socketFlags As SocketFlags, ByRef remoteEP As EndPoint) As Integer
Parâmetros
- size
- Int32
O número de bytes a receber.
- socketFlags
- SocketFlags
Uma combinação bit a bit dos SocketFlags valores.
- remoteEP
- EndPoint
Uma referência a um EndPoint do mesmo tipo que o endpoint do host remoto a ser atualizado em caso de receção bem-sucedida.
Devoluções
O número de bytes recebidos.
Exceções
socketFlags não é uma combinação válida de valores.
-ou-
A LocalEndPoint propriedade não estava definida.
-ou-
Ocorre um erro do sistema operativo ao aceder ao Socketarquivo .
O Socket local foi encerrado.
Um chamador na pilha de chamadas não tem as permissões necessárias.
Exemplos
O exemplo de código seguinte recebe um datagrama sem ligação de um host remoto. O tamanho do buffer, e SocketFlags são passados para o ReceiveFrom método.
public static void ReceiveFrom3()
{
IPHostEntry hostEntry = Dns.GetHostEntry(Dns.GetHostName());
IPEndPoint endPoint = new IPEndPoint(hostEntry.AddressList[0], 11000);
Socket s = new Socket(endPoint.Address.AddressFamily,
SocketType.Dgram,
ProtocolType.Udp);
// Creates an IPEndPoint to capture the identity of the sending host.
IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0);
EndPoint senderRemote = (EndPoint)sender;
// Binding is required with ReceiveFrom calls.
s.Bind(endPoint);
byte[] msg = new Byte[256];
Console.WriteLine("Waiting to receive datagrams from client...");
// This call blocks.
s.ReceiveFrom(msg, msg.Length, SocketFlags.None, ref senderRemote);
s.Close();
}
Public Shared Sub ReceiveFrom3()
Dim hostEntry As IPHostEntry = Dns.GetHostEntry(Dns.GetHostName())
Dim endPoint As New IPEndPoint(hostEntry.AddressList(0), 11000)
Dim s As New Socket(endPoint.Address.AddressFamily, SocketType.Dgram, ProtocolType.Udp)
' Creates an IPEndPoint to capture the identity of the sending host.
Dim sender As New IPEndPoint(IPAddress.Any, 0)
Dim senderRemote As EndPoint = CType(sender, EndPoint)
' Binding is required with ReceiveFrom calls.
s.Bind(endPoint)
Dim msg() As Byte = New [Byte](255) {}
Console.WriteLine("Waiting to receive datagrams from client...")
' This call blocks.
s.ReceiveFrom(msg, msg.Length, SocketFlags.None, senderRemote)
s.Close()
End Sub
Observações
O ReceiveFrom método lê dados no buffer parâmetro, devolve o número de bytes lidos com sucesso e captura o endpoint remoto do host de onde os dados foram enviados. Este método é útil se pretende receber datagramas sem ligação de um host desconhecido ou de múltiplos hosts.
Esta sobrecarga só exige que forneça um buffer de receção, o número de bytes que quer receber, o necessário SocketFlags, e um EndPoint que represente o host remoto. O deslocamento do buffer é 0 por defeito.
Com protocolos sem conexão, ReceiveFrom irá ler o primeiro datagrama enfileirado recebido no buffer de rede local. Se o datagrama que receber for maior do que o tamanho de buffer, o ReceiveFrom método preencherá buffer com o máximo possível da mensagem e lançará um SocketException. Se estiver a usar um protocolo pouco fiável, os dados em excesso serão perdidos. Se estiver a usar um protocolo fiável, os dados excedentes serão retidos pelo fornecedor de serviços e pode recuperá-los chamando o ReceiveFrom método com um buffer suficientemente grande.
Se não houver dados disponíveis para leitura, o ReceiveFrom método bloqueia até que os dados estejam disponíveis. Se estiver em modo não bloqueante, e não houver dados disponíveis no buffer da pilha de protocolos, o ReceiveFrom método será completado imediatamente e lançará um SocketException. Pode usar a Available propriedade para determinar se há dados disponíveis para leitura. Quando Available for diferente de zero, tente novamente a operação de receção.
Embora ReceiveFrom seja destinado a protocolos sem ligação, também pode usar um protocolo orientado à ligação. Se optar por isso, deve primeiro estabelecer uma ligação remota ao host chamando o Connect método ou aceitar uma ligação remota ao host ao chamar o Accept método. Se não estabelecer ou aceitar uma ligação antes de ligar para o ReceiveFrom método, receberá um SocketException. Também pode estabelecer um host remoto predefinido para um protocolo sem ligação antes de chamar o ReceiveFrom método.
Com sockets orientados para ligação, ReceiveFrom lê tantos dados quanto estiver disponível até ao número de bytes especificados pelo size parâmetro. Se o host remoto desligar a Socket ligação com o Shutdown método e todos os dados disponíveis forem recebidos, o ReceiveFrom método será concluído imediatamente e retornará zero bytes.
Note
Antes de chamar ReceiveFrom, deve vincular explicitamente o Socket a um endpoint local usando o Bind método. Se não o fizer, ReceiveFrom 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
O AddressFamily do usado em ReceiveFrom precisa de corresponder ao AddressFamily do EndPoint usado em SendToEndPoint .
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)
- Receive(Byte[], Int32, SocketFlags)
- Available
- Shutdown(SocketShutdown)
- Close()
- SocketFlags
Aplica-se a
ReceiveFrom(Byte[], SocketFlags, EndPoint)
Recebe um datagrama no buffer de dados, usando o especificado SocketFlags, e armazena o endpoint.
public:
int ReceiveFrom(cli::array <System::Byte> ^ buffer, System::Net::Sockets::SocketFlags socketFlags, System::Net::EndPoint ^ % remoteEP);
public int ReceiveFrom(byte[] buffer, System.Net.Sockets.SocketFlags socketFlags, ref System.Net.EndPoint remoteEP);
member this.ReceiveFrom : byte[] * System.Net.Sockets.SocketFlags * EndPoint -> int
Public Function ReceiveFrom (buffer As Byte(), socketFlags As SocketFlags, ByRef remoteEP As EndPoint) As Integer
Parâmetros
- socketFlags
- SocketFlags
Uma combinação bit a bit dos SocketFlags valores.
- remoteEP
- EndPoint
Uma referência a um EndPoint do mesmo tipo que o endpoint do host remoto a ser atualizado em caso de receção bem-sucedida.
Devoluções
O número de bytes recebidos.
Exceções
Ocorreu um erro ao tentar aceder ao soquete.
O Socket local foi encerrado.
Um chamador na pilha de chamadas não tem as permissões necessárias.
Exemplos
O exemplo de código seguinte recebe um datagrama sem ligação de um host remoto. SocketFlags são passados para o ReceiveFrom método.
public static void ReceiveFrom2()
{
IPHostEntry hostEntry = Dns.GetHostEntry(Dns.GetHostName());
IPEndPoint endPoint = new IPEndPoint(hostEntry.AddressList[0], 11000);
Socket s = new Socket(endPoint.Address.AddressFamily,
SocketType.Dgram,
ProtocolType.Udp);
// Creates an IpEndPoint to capture the identity of the sending host.
IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0);
EndPoint senderRemote = (EndPoint)sender;
// Binding is required with ReceiveFrom calls.
s.Bind(endPoint);
byte[] msg = new Byte[256];
Console.WriteLine("Waiting to receive datagrams from client...");
// This call blocks.
s.ReceiveFrom(msg, SocketFlags.None, ref senderRemote);
s.Close();
}
Public Shared Sub ReceiveFrom2()
Dim hostEntry As IPHostEntry = Dns.GetHostEntry(Dns.GetHostName())
Dim endPoint As New IPEndPoint(hostEntry.AddressList(0), 11000)
Dim s As New Socket(endPoint.Address.AddressFamily, SocketType.Dgram, ProtocolType.Udp)
' Creates an IpEndPoint to capture the identity of the sending host.
Dim sender As New IPEndPoint(IPAddress.Any, 0)
Dim senderRemote As EndPoint = CType(sender, EndPoint)
' Binding is required with ReceiveFrom calls.
s.Bind(endPoint)
Dim msg() As Byte = New [Byte](255) {}
Console.WriteLine("Waiting to receive datagrams from client...")
' This call blocks.
s.ReceiveFrom(msg, SocketFlags.None, senderRemote)
s.Close()
End Sub
Observações
O ReceiveFrom método lê dados no buffer parâmetro, devolve o número de bytes lidos com sucesso e captura o endpoint remoto do host de onde os dados foram enviados. Este método é útil se pretende receber datagramas sem ligação de um host desconhecido ou de múltiplos hosts.
Esta sobrecarga só exige que forneça um buffer de receção, o necessário SocketFlags, e um EndPoint que represente o host remoto. O offset é 0 por defeito e o tamanho corresponde ao comprimento do parâmetro do buffer.
Note
Antes de chamar ReceiveFrom, deve vincular explicitamente o Socket a um endpoint local usando o Bind método. Se não o fizer, ReceiveFrom lançará um SocketException.
Com protocolos sem conexão, ReceiveFrom irá ler o primeiro datagrama enfileirado recebido no buffer de rede local. Se o datagrama que receber for maior do que o tamanho de buffer, o ReceiveFrom método preencherá buffer com o máximo possível da mensagem e lançará um SocketException. Se estiver a usar um protocolo pouco fiável, os dados em excesso serão perdidos. Se estiver a usar um protocolo fiável, os dados excedentes serão retidos pelo fornecedor de serviços e pode recuperá-los chamando o ReceiveFrom método com um buffer suficientemente grande.
Se não houver dados disponíveis para leitura, o ReceiveFrom método bloqueia até que os dados estejam disponíveis. Se estiver em modo não bloqueante, e não houver dados disponíveis no buffer da pilha de protocolos, o ReceiveFrom método será completado imediatamente e lançará um SocketException. Pode usar a Available propriedade para determinar se há dados disponíveis para leitura. Quando Available for diferente de zero, tente novamente a operação de receção.
Embora ReceiveFrom seja destinado a protocolos sem ligação, também pode usar um protocolo orientado à ligação. Se optar por isso, deve primeiro estabelecer uma ligação remota ao host chamando o Connect método ou aceitar uma ligação remota ao host ao chamar o Accept método. Se não estabelecer ou aceitar uma ligação antes de ligar para o ReceiveFrom método, receberá um SocketException. Também pode estabelecer um host remoto predefinido para um protocolo sem ligação antes de chamar o ReceiveFrom método.
Com soquetes orientados à ligação, ReceiveFrom lê tantos dados quanto estiver disponível até ao tamanho de buffer. Se o host remoto desligar a Socket ligação com o Shutdown método e todos os dados disponíveis forem recebidos, o ReceiveFrom método será concluído imediatamente e devolverá zero bytes.
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
O AddressFamily do usado em ReceiveFrom precisa de corresponder ao AddressFamily do EndPoint usado em SendToEndPoint .
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)
- Receive(Byte[], Int32, SocketFlags)
- Available
- Shutdown(SocketShutdown)
- Close()
- SocketFlags
Aplica-se a
ReceiveFrom(Byte[], EndPoint)
Recebe um datagrama no buffer de dados e armazena o endpoint.
public:
int ReceiveFrom(cli::array <System::Byte> ^ buffer, System::Net::EndPoint ^ % remoteEP);
public int ReceiveFrom(byte[] buffer, ref System.Net.EndPoint remoteEP);
member this.ReceiveFrom : byte[] * EndPoint -> int
Public Function ReceiveFrom (buffer As Byte(), ByRef remoteEP As EndPoint) As Integer
Parâmetros
- remoteEP
- EndPoint
Uma referência a um EndPoint do mesmo tipo que o endpoint do host remoto a ser atualizado em caso de receção bem-sucedida.
Devoluções
O número de bytes recebidos.
Exceções
Ocorreu um erro ao tentar aceder ao soquete.
O Socket local foi encerrado.
Um chamador na pilha de chamadas não tem as permissões necessárias.
Exemplos
O exemplo de código seguinte recebe um datagrama sem ligação de um host remoto.
public static void ReceiveFrom1()
{
IPHostEntry hostEntry = Dns.GetHostEntry(Dns.GetHostName());
IPEndPoint endPoint = new IPEndPoint(hostEntry.AddressList[0], 11000);
Socket s = new Socket(endPoint.Address.AddressFamily,
SocketType.Dgram,
ProtocolType.Udp);
// Creates an IPEndPoint to capture the identity of the sending host.
IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0);
EndPoint senderRemote = (EndPoint)sender;
// Binding is required with ReceiveFrom calls.
s.Bind(endPoint);
byte[] msg = new Byte[256];
Console.WriteLine("Waiting to receive datagrams from client...");
// This call blocks.
s.ReceiveFrom(msg, ref senderRemote);
s.Close();
}
Public Shared Sub ReceiveFrom1()
Dim hostEntry As IPHostEntry = Dns.GetHostEntry(Dns.GetHostName())
Dim endPoint As New IPEndPoint(hostEntry.AddressList(0), 11000)
Dim s As New Socket(endPoint.Address.AddressFamily, SocketType.Dgram, ProtocolType.Udp)
' Creates an IPEndPoint to capture the identity of the sending host.
Dim sender As New IPEndPoint(IPAddress.Any, 0)
Dim senderRemote As EndPoint = CType(sender, EndPoint)
' Binding is required with ReceiveFrom calls.
s.Bind(endPoint)
Dim msg() As Byte = New [Byte](255) {}
Console.WriteLine("Waiting to receive datagrams from client...")
' This call blocks.
s.ReceiveFrom(msg, senderRemote)
s.Close()
End Sub
Observações
O ReceiveFrom método lê dados no buffer parâmetro, devolve o número de bytes lidos com sucesso e captura o endpoint remoto do host de onde os dados foram enviados. Este método é útil se pretende receber datagramas sem ligação de um host desconhecido ou de múltiplos hosts.
Esta sobrecarga só exige que forneça um receção buffer, e um EndPoint que represente o host remoto. O deslocamento do buffer é 0 por defeito. O tamanho corresponde por defeito ao comprimento do buffer parâmetro e o socketFlags valor a None.
Note
Antes de chamar ReceiveFrom, deve vincular explicitamente o Socket a um endpoint local usando o Bind método. Se não o fizer, ReceiveFrom lançará um SocketException.
Com protocolos sem conexão, ReceiveFrom irá ler o primeiro datagrama enfileirado recebido no buffer de rede local. Se o datagrama que receber for maior do que o tamanho de buffer, o ReceiveFrom método preencherá buffer com o máximo possível da mensagem e lançará um SocketException. Se estiver a usar um protocolo pouco fiável, os dados em excesso serão perdidos. Se estiver a usar um protocolo fiável, os dados excedentes serão retidos pelo fornecedor de serviços e pode recuperá-los chamando o ReceiveFrom método com um buffer suficientemente grande.
Se não houver dados disponíveis para leitura, o ReceiveFrom método bloqueia até que os dados estejam disponíveis. Se estiver em modo não bloqueante, e não houver dados disponíveis no buffer da pilha de protocolos, o ReceiveFrom método será completado imediatamente e lançará um SocketException. Pode usar a Available propriedade para determinar se há dados disponíveis para leitura. Quando Available for diferente de zero, tente novamente a operação de receção.
Embora ReceiveFrom seja destinado a protocolos sem ligação, também pode usar um protocolo orientado à ligação. Se optar por isso, deve primeiro estabelecer uma ligação remota ao host chamando o Connect método ou aceitar uma ligação remota ao host ao chamar o Accept método. Se não estabelecer ou aceitar uma ligação antes de ligar para o ReceiveFrom método, receberá um SocketException. Também pode estabelecer um host remoto predefinido para um protocolo sem ligação antes de chamar o ReceiveFrom método.
Com soquetes orientados à ligação, ReceiveFrom lê tantos dados quanto estiver disponível até ao tamanho de buffer. Se o host remoto desligar a Socket ligação com o Shutdown método e todos os dados disponíveis forem recebidos, o ReceiveFrom método será concluído imediatamente e retornará zero bytes.
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
O AddressFamily do usado em ReceiveFrom precisa de corresponder ao AddressFamily do EndPoint usado em SendToEndPoint .
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.