我正在開發具有一個Web服務器和一個C#客戶端哪些職位XML的Web服務器的應用程序。 Web服務器需要知道客戶端的本地IP地址。我嘗試了在服務器端檢索IP地址的方法,但這些方法在代理服務器或NAT之間沒有給出客戶端的IP地址。所以我需要在客戶端應用程序中找到連接的本地IP,並將其發送給請求。發送帶有HttpWebRequest的(C#)相關聯的連接的本地IP地址
問題出在HttpWebRequest
。我沒有看到任何方法可以在發送HTTP請求時獲取連接的本地IP地址。
澄清:
客戶在我的情況是不是基於瀏覽器。這是一個C#應用程序。我的服務器具有基於本地IP的特定規則,用於在發送HTTP請求時連接到服務器。就我而言,本地IP是固定的。在本地計算機上可能有多個IP--這就是爲什麼我要將與Socket
關聯的本地IP用於發送請求的原因。如果我在C#中使用TcpClient
並在其上實現HTTP協議,可以解決這個問題,但我想避免這種情況。那麼,在發佈請求之前,有什麼方法可以獲得與HttpWebRequest
關聯的套接字嗎?
要添加到CodeByMoonlights答案,這將是不可靠的,什麼讓你認爲客戶端只有1個IP地址? 事實上,NATs *可能會出現這種情況,這表明這不是一個內聯網場景,我想。所以也許退後一步,告訴我們你正試圖解決的問題,而不是你已經設計的解決方案的問題。 – 2009-11-24 08:20:14