2009-08-12 158 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