1

メソッドで特定のポートをリッスンしますBeginReceive()
送信者の IP を見つけるにはどうすればよいですか?

ありがとうございました。

4

1 に答える 1

3

質問内容を詳しく説明する必要があると思います。

とにかくBeginReceive()、クラスの使用方法と他の非同期メソッドの完全な例Socketは、明確で詳細な「Asynchronous Server Socket Example」MSDN Sampleにあります。

これから読むトリックは、接続を受け入れて を呼び出すときに、カスタム状態オブジェクト (開いているソケット情報を配置できる場所) を初期化することです。これにより、受信コールバックがプロパティBeginReceiveでその状態を取得できるようになります。 IAsyncResult.AsyncResult.

リンクされた例に従って、この方法で「送信者」(リモート) IP アドレスを取得できます (AcceptCallback、ReadCallback で、ハンドラーはSocketクラスのインスタンスです)。

IPAddress remoteAddress = ((IPEndPoint)handler.RemoteEndPoint).Address;
于 2012-05-18T17:34:44.570 に答える