0

私は TcpListener を使用して単純な FTP サービスを作成しており、着信呼び出しが使用しているホスト名 (複数のサブドメインを持つドメイン) を調べたいと考えています。

これは可能ですか?

//Barebone TCPListener example
System.Net.Sockets.TcpListener listener;
listener = new TcpListener(IPAddress.Any, 21)

listener.Start();

TcpClient client = listener.AcceptTcpClient();

//Great, incoming... what domain are they using to call my service?

//This only gives me the local and remote IP..
//IPEndPoint LocalEndPoint = (IPEndPoint)client.Client.LocalEndPoint;
//IPEndPoint RemoteEndPoint = (IPEndPoint)client.Client.RemoteEndPoint;

どんなポインタでも大歓迎です。

4

1 に答える 1

3

TCPは基本的にその情報を持っているとは思いません。そのため、HTTPには「Host」ヘッダーがあり、クライアントはそれを指定できます。

基本的に、ホスト名へのTCP接続を確立することは、ホスト名をアドレスに解決してから、名前が存在しなかっかのように接続を確立することと同じです。

于 2012-10-03T10:50:14.277 に答える