ICE 中服務端怎麼獲取客戶端的IP位址

2023-10-05 13:15:03 字數 2903 閱讀 3531

如何獲取客戶端和伺服器ip位址

1樓:匿名使用者

您好,.系列ip,而這個函式獲取的是區域網閘道器出口的ip位址,如果訪問者使用**伺服器,將不獲取**伺服器的ip,而是獲取訪問者閘道器的真實ip。如果將這個函式應用到限ip訪問的網頁中,別人即使通過限ip訪問段中的**伺服器,也不能訪問該頁面。

下面提供乙個函式://定義乙個函式getip()

function getip()

使用方法:

echo getip();

getenv("remote_addr")用來取得客戶端的 ip 位址,但如果客戶端是使用**伺服器來訪問,那取到的就是**伺服器的 ip 位址,而不是真正的客戶端 ip 位址。要想透過**伺服器取得客戶端的真實 ip 位址,就要使用 getenv("http_x_forwarded_for") 來讀取。

但是如果客戶端沒有通過**伺服器來訪問,那麼用getenv("http_x_forwarded_for") 取到的值將是空的。

else if(getenv("http_x_forwarded_for"))

ip = getenv("http_x_forwarded_for");

表示如果getenv("http_x_forwarded_for") 取到的值存在不為空(即客戶端使用**伺服器的情況下),則變數$ip等於getenv("http_x_forwarded_for") 取到的真實ip值。

如果上面的else if(getenv("http_x_forwarded_for"))取得的值為空(即沒有使用**伺服器),則不會執行下面的$ip = getenv("http_x_forwarded_for");這一行語句。

這種情況下已經確認客戶端沒有使用**伺服器,從而通過。

else if(getenv("remote_addr"))

這兩行語句獲得客戶端的ip位址也是真實的ip位址。

客服端和服務端建立tcp連線後,怎麼從服務端獲取客戶端的ip位址?

2樓:網友

socket clientsock =

接受客戶端連線。

datetime connecttime =

連線乙個客戶端後,當前時間就是連線時間。

as ipendpoint).ipaddress;

ip位址。 as ipendpoint).port;埠號。

伺服器如何獲取客戶端的ip位址,並與客戶端建立tcp連線?

3樓:網友

客戶端的ip自動獲取,關鍵要看客戶端的ip是由誰來分配的,如果都是有isp提供的那麼伺服器利用ip去連線客戶端就不太可能。可以嘗試用下面兩種思路解決:

1、能否讓客戶機主動連線伺服器。

2、使用動態dns。讓每個客戶機都申請乙個動態網域名稱,無論它的ip怎樣變,當改變以後都會到dns伺服器進行註冊,然後伺服器使用主機的名字訪問客戶端。

4樓:

需要客戶端向伺服器先發起連線。伺服器一般都是處於被動的監聽。可以參考ftp的實現。

如何在webservice中獲取客戶端的ip位址

5樓:福喜

一、如果在web module單元中,可用如下語句實現(這其實是webbroker技術):

二、如果是isapi/cgi的webservice中,*中是無法存取web module單元的(uses了也不行的),如何實現?

伺服器端實現的介面函式裡,如何知道呼叫這個介面函式的客戶端的ip?

在實現部分的**裡, uses webbrokersoap單元然後,可以通過以下**直接獲得當前呼叫這個函式的客戶端的ip:

getsoapwebmodule 這個函式是在 webbrokersoap 這個單元裡的。

j**a的serversocket服務端如何獲取遠端請求連線客戶端的ip位址

6樓:匿名使用者

serversocket不提供這個方法,但是server端獲取到的請求new serversocket().accept()返回的是乙個socket物件,也就是當前連線的信內息,這裡麵包含有乙個 getremoteaddress方法容。多看看api

如何獲取客戶端真實ip

7樓:網友

在jsp裡,獲取客戶端的ip位址的方法是:,這種方法在大部分情況下都是有效的。但是在通過了 apache,nagix等反向**軟體就不能獲取到客戶端的真實ip位址了。

經過**以後,由於在客戶端和服務之間增加了中間層,因此伺服器無法直接拿到客戶端的 ip,伺服器端應用也無法直接通過**請求的位址返回給客戶端。但是在**請求的http頭資訊中,增加了x-forwarded-for資訊。用以跟蹤原有的客戶端 ip位址和原來客戶端請求的伺服器位址。

舉例來說,當我們訪問口碑網首頁時,其實並不是我們瀏覽器真正訪問到了伺服器上的 檔案,而是先由**伺服器nagix去訪問 ,**伺服器再將訪問到的結果返回給我們的瀏覽器,因為是**伺服器去訪問的,所以中通過 的方法獲取的ip實際上是**伺服器的位址,並不是客戶端的ip位址。

public string getremortip(httpservletrequest request)

return "x-forwarded-for");

獲得客戶端真實ip位址的方法二。

public string getipaddr(httpservletrequest request)

if(ip ==null ||0 ||unknown".equalsignorecase(ip))

if(ip ==null ||0 ||unknown".equalsignorecase(ip))

return ip;}

ICE 中服務端怎麼獲取客戶端的IP地址

客戶端的ip自動獲取,關鍵要看客戶端的ip是由誰來分配的,如果都是有isp提供的那麼伺服器利用ip去連線客戶端就不太可能。可以嘗試用下面兩種思路解決 1 能否讓客戶機主動連線伺服器。2 使用動態dns。讓每個客戶機都申請一個動態域名,無論它的ip怎樣變,當改變以後都會到dns伺服器進行註冊,然後伺服...

網頁服務端與客戶端的區別,伺服器端和客戶端有什麼區別?

網頁的程式 是執行在伺服器端的。也就是.cs檔案。所以要有伺服器端的控制元件。不然怎麼執行?客戶端的控制元件和伺服器端的是對應的,伺服器端的頁面傳送給客戶端後,就解析成了 對應的html 就是客戶端 的控制元件。伺服器端控制元件是伺服器來解析的,客戶端控制元件是由瀏覽器解析的。比如你要在後臺對一個t...

什麼叫服務端 和客戶端,伺服器端和客戶端有什麼區別

服務端,是為客戶端服務的。服務的內容諸如向客戶端提供資源,儲存客戶端資料。是實現遊戲特色化的重要途徑,也是最直接可以通過遊戲表現出來的技術。客戶端,或稱為使用者端,是指與伺服器相對應,為客戶提供本地服務的程式。除了一些只在本地執行的應用程式之外,一般安裝在普通的客戶機上,需要與服務端互相配合執行。一...