2009-08-12 127 views

回答

2

我想你对TCP/IP的工作原理有一些误解。首先,不是每个电脑或世界上的流程都有的一个URL。所以问“请求者的URL是什么”(就像你在上一个问题中所做的那样)是一个毫无意义的问题。

请求发起请求的计算机的DNS名称稍微有意义。并非每台互联网上的机器都有DNS名称,但很多都是。要找出某台机器的DNS名称,首先需要其IP地址,如果您通过TCP或UDP接收到来自机器的请求(因为该请求包含请求者的IP地址),您将获得其IP地址。然后,您可以执行反向DNS查找以确定DNS名称;这是否给你任何东西,或者结果是否正确取决于反向DNS如何为请求者管理。

根据this blog entry,您可以使用IncomingMessageProperties,查看RemoteEndpointMessageProperty,找出远程IP是什么。

+1

实际上,您仍然可能没有请求者的实际IP地址。您可能正在获取代理服务器或NAT设备的地址。 – 2009-08-12 21:21:06

+0

好点。我没有想到这个!我想我的印象是我们的要求将来自特定的领域。我想补充一些Google Maps API密钥。它们以某种方式嵌入了域名。 – DDiVita 2009-08-13 13:49:08