2012-02-29 2 views
0

저는 C#으로 ASP.NET을 사용했습니다. 얼마나 많은 클라이언트가 웹 서버에 요청을 보내고 있는지 확인하고 싶습니다. IIS 웹 서버의 IP 주소를 사용하는 다른 컴퓨터에서이 사이트에 액세스했을 때 IIS 서버에 웹 페이지를 배포했습니다.. 다음 카운트 번호. 서버에 연결된 클라이언트

계산 방법 클라이언트가 서버에 연결되어 있습니까?

+1

에 연결하는 방법을 찾아 고유 IP를 가지고 그것은 흥미로운 : http://stackoverflow.com/q/6218401/1219762 –

답변

0

다음 함수를 사용하여 IP를 얻고이를 기록하십시오. 그리고 많은 컴퓨터가 당신이 찾을 수있는 서버

public static string GetIPAddress() 
{ 
    System.Web.HttpContext context = System.Web.HttpContext.Current; 
    string sIPAddress = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; 
    if (string.IsNullOrEmpty(sIPAddress)) { 
     return context.Request.ServerVariables["REMOTE_ADDR"]; 
    } else { 
     string[] ipArray = sIPAddress.Split(new Char[] { ',' }); 
     return ipArray[0]; 
    } 
} 
+0

그게 내가 의미하는 것입니다 예. IP를 데이터베이스에 저장하십시오. 그런 다음 무효 IP를 계산합니다. – PraveenVenu

+0

LAN에서 사이트에 액세스 할 때 공통 외부 IP를 공유하기 때문입니다. – PraveenVenu

+0

이 방법을 사용했지만 응용 프로그램에 저장된 배열 및 배열에 ip를 저장할 때 [ "key"] = array; 배열에 IP 주소를 추가 한 후이 수가 증가하지만 한 클라이언트가 웹 브라우저를 닫은 후에 배열에서 IP 주소가 제거되지 않습니다. 이 클라이언트가 응용 프로그램을 종료했을 때 hte IP 주소를 배열에서 제거하는 방법. globa.asax에이 코드를 써서 session_start 이벤트에 ip 주소를 추가하고 session_end 이벤트에서 IP를 제거 할 때 null IP 주소를 반환하는 session_end 이벤트에서 IP를 제거하려고 시도합니다. – user847455