2013-12-02 4 views
1

Я удалось получить IP-адреса клиентов от моего сервера с использованием кодов нижеКак получить локальный IP-адрес

OperationContext context = OperationContext.Current; 
MessageProperties prop = context.IncomingMessageProperties; 
RemoteEndpointMessageProperty endpoint = prop[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty; 
string ipaddress = endpoint.Address; 

Однако, если клиенты находятся в одной и той же сети, все IP-адреса являются общедоступными адрес IP сети.

Есть ли способ получить локальные IP-адреса каждого клиента, если они находятся под одной и той же точкой доступа? или просто просто есть ли более простой способ отличить клиента друг от друга?

+1

afaik Вы не можете определить частный IP-адрес хоста, если вы явно не просите об этом –

+0

Вы прочитали это: Noctis

ответ

0

попробовать этот

HttpRequest currentRequest = HttpContext.Current.Request; 
string ipAddress = currentRequest.ServerVariables["HTTP_X_FORWARDED_FOR"]; 

if (ipAddress == null || ipAddress.ToLower() == "unknown") 
    ipAddress = currentRequest.ServerVariables["REMOTE_ADDR"]; 

return ipAddress; 
+0

Спасибо за ваш комментарий, но это не поможет. ipAddress возвращает открытый IP-адрес вместо локального IP-адреса. –

Смежные вопросы