Socket.ReceiveFrom メソッド
データグラムを受信し、ソース エンドポイントを格納します。
オーバーロードの一覧
データグラムを受信してデータバッファに格納します。さらに、エンドポイントを格納します。
.NET Compact Framework でもサポート。
[Visual Basic] Overloads Public Function ReceiveFrom(Byte(), ByRef EndPoint) As Integer
[C++] public: int ReceiveFrom(unsigned char __gc[], EndPoint**);
[JScript] public function ReceiveFrom(Byte[], EndPoint) : int;
指定した SocketFlags を使用し、データグラムを受信してデータバッファに格納します。さらに、エンドポイントを格納します。
.NET Compact Framework でもサポート。
[Visual Basic] Overloads Public Function ReceiveFrom(Byte(), SocketFlags, ByRef EndPoint) As Integer
[C#] public int ReceiveFrom(byte[], SocketFlags, ref EndPoint);
[C++] public: int ReceiveFrom(unsigned char __gc[], SocketFlags, EndPoint**);
[JScript] public function ReceiveFrom(Byte[], SocketFlags, EndPoint) : int;
指定した SocketFlags を使用し、指定したバイト数のデータを受信してデータ バッファに格納します。さらに、エンドポイントを格納します。
.NET Compact Framework でもサポート。
[Visual Basic] Overloads Public Function ReceiveFrom(Byte(), Integer, SocketFlags, ByRef EndPoint) As Integer
[C#] public int ReceiveFrom(byte[], int, SocketFlags, ref EndPoint);
[C++] public: int ReceiveFrom(unsigned char __gc[], int, SocketFlags, EndPoint**);
[JScript] public function ReceiveFrom(Byte[], int, SocketFlags, EndPoint) : int;
指定した SocketFlags を使用し、指定したバイト数のデータを受信して、データ バッファ内の指定した位置に格納します。さらに、エンドポイントを格納します。
.NET Compact Framework でもサポート。
[Visual Basic] Overloads Public Function ReceiveFrom(Byte(), Integer, Integer, SocketFlags, ByRef EndPoint) As Integer
[C#] public int ReceiveFrom(byte[], int, int, SocketFlags, ref EndPoint);
[C++] public: int ReceiveFrom(unsigned char __gc[], int, int, SocketFlags, EndPoint**);
[JScript] public function ReceiveFrom(Byte[], int, int, SocketFlags, EndPoint) : int;
使用例
[Visual Basic, C#, C++] リモート ホストからコネクションレスのデータグラムを受信する例を次に示します。オフセット、バッファ サイズ、および SocketFlags は ReceiveFrom メソッドに渡されます。
[Visual Basic, C#, C++] メモ ここでは、ReceiveFrom のオーバーロード形式のうちの 1 つだけについて、使用例を示します。その他の例については、各オーバーロード形式のトピックを参照してください。
Public Shared Sub ReceiveFrom4()
Dim hostEntry As IPHostEntry = Dns.Resolve(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 'ReceiveFrom4
[C#]
public static void ReceiveFrom4()
{
IPHostEntry hostEntry = Dns.Resolve(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();
}
[C++]
static void ReceiveFrom4()
{
IPHostEntry* hostEntry = Dns::Resolve(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 = __try_cast<EndPoint*>(sender);
// Binding is required with ReceiveFrom calls.
s->Bind(endPoint);
Byte msg[]= new Byte[256];
Console::WriteLine ("SWaiting to receive datagrams from client...");
// This call blocks.
s->ReceiveFrom(msg, 0, msg.Length, SocketFlags::None, &senderRemote);
s->Close();
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。