UdpClient.EndReceive メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > UdpClient.EndReceive メソッドの意味・解説 

UdpClient.EndReceive メソッド

メモ : このメソッドは、.NET Framework version 2.0新しく追加されたものです。

保留中の非同期受信終了します

名前空間: System.Net.Sockets
アセンブリ: System (system.dll 内)
構文構文

Public Function EndReceive ( _
    asyncResult As IAsyncResult, _
    ByRef remoteEP As IPEndPoint _
) As Byte()
Dim instance As UdpClient
Dim asyncResult As IAsyncResult
Dim remoteEP As IPEndPoint
Dim returnValue As Byte()

returnValue = instance.EndReceive(asyncResult, remoteEP)
public byte[] EndReceive (
    IAsyncResult asyncResult,
    ref IPEndPoint remoteEP
)
public:
array<unsigned char>^ EndReceive (
    IAsyncResult^ asyncResult, 
    IPEndPoint^% remoteEP
)
public byte[] EndReceive (
    IAsyncResult asyncResult, 
    /** @ref */ IPEndPoint remoteEP
)
JScript では、値型引数参照渡しされません。

パラメータ

asyncResult

BeginReceive の呼び出しによって返される IAsyncResult オブジェクト

remoteEP

指定したリモート エンドポイント

戻り値
正常に完了した場合は、受信したバイト数。失敗した場合、このメソッドは 0 を返します

例外例外
例外種類条件

ArgumentNullException

asyncResultnull 参照 (Visual Basic では Nothing) です。

ArgumentException

BeginReceive メソッドへの呼び出しasyncResult返されませんでした

InvalidOperationException

EndReceive が、非同期読み取りのために以前呼び出されています。

SocketException

基になる Socket へのアクセス試みているときにエラー発生しました詳細については「解説」を参照してください

ObjectDisposedException

基になる Socket閉じられています。

解説解説
使用例使用例

BeginSend を使用してサーバーからの応答非同期受信完了するコード例次に示します

public static bool messageReceived
 = false;

public static void ReceiveCallback(IAsyncResult
 ar)
{
  UdpClient u = (UdpClient)((UdpState)(ar.AsyncState)).u;
  IPEndPoint e = (IPEndPoint)((UdpState)(ar.AsyncState)).e;

  Byte[] receiveBytes = u.EndReceive(ar, ref e);
  string receiveString = Encoding.ASCII.GetString(receiveBytes);

  Console.WriteLine("Received: {0}", receiveString);
  messageReceived = true;
}

public static void ReceiveMessages()
{
  // Receive a message and write it to the console.
  IPEndPoint e = new IPEndPoint(IPAddress.Any, listenPort);
  UdpClient u = new UdpClient(e);

  UdpState s = new UdpState();
  s.e = e;
  s.u = u;

  Console.WriteLine("listening for messages");
  u.BeginReceive(new AsyncCallback(ReceiveCallback), s);

  // Do some work while we wait for a message. For this example,
  // we'll just sleep
  while (!messageReceived)
  {
    Thread.Sleep(100);
  }
}
public:
    static bool isMessageReceived;

    static void ReceiveCallback(IAsyncResult^
 asyncResult)
    {
        UdpClient^ udpClient =
            ((UdpState)(asyncResult->AsyncState)).udpClient;
        IPEndPoint^ ipEndPoint =
            ((UdpState)(asyncResult->AsyncState)).ipEndPoint;

        array<Byte>^ receiveBytes =
            udpClient->EndReceive(asyncResult, ipEndPoint);
        String^ receiveString =
            Encoding::ASCII->GetString(receiveBytes);

        Console::WriteLine("Received: {0}", receiveString);
        isMessageReceived = true;
    }

    static void ReceiveMessages()
    {
        // Receive a message and write it to the console.
        IPEndPoint^ ipEndPoint = gcnew IPEndPoint(IPAddress::Any, listenPort);
        UdpClient^ udpClient = gcnew UdpClient(ipEndPoint);

        UdpState^ udpState = gcnew UdpState();
        udpState->ipEndPoint = ipEndPoint;
        udpState->udpClient = udpClient;

        Console::WriteLine("listening for messages");
        udpClient->BeginReceive(gcnew AsyncCallback(ReceiveCallback),
            udpState);

        // Do some work while we wait for a message. For this example
,
        // we'll just sleep
        while (!isMessageReceived)
        {
            Thread::Sleep(100);
        }
    }
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
UdpClient クラス
UdpClient メンバ
System.Net.Sockets 名前空間



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「UdpClient.EndReceive メソッド」の関連用語

UdpClient.EndReceive メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



UdpClient.EndReceive メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS