メソッドで特定のポートをリッスンしますBeginReceive()
。
送信者の IP を見つけるにはどうすればよいですか?
ありがとうございました。
質問内容を詳しく説明する必要があると思います。
とにかくBeginReceive()
、クラスの使用方法と他の非同期メソッドの完全な例Socket
は、明確で詳細な「Asynchronous Server Socket Example」MSDN Sampleにあります。
これから読むトリックは、接続を受け入れて を呼び出すときに、カスタム状態オブジェクト (開いているソケット情報を配置できる場所) を初期化することです。これにより、受信コールバックがプロパティBeginReceive
でその状態を取得できるようになります。 IAsyncResult.AsyncResult
.
リンクされた例に従って、この方法で「送信者」(リモート) IP アドレスを取得できます (AcceptCallback、ReadCallback で、ハンドラーはSocket
クラスのインスタンスです)。
IPAddress remoteAddress = ((IPEndPoint)handler.RemoteEndPoint).Address;