2010-06-06 5 views
1

온라인 방문자 수를 표시해야하지만 알고리즘을 선택하는 데 문제가 있습니다. 어쩌면 나는 DB에 테이블을 만들어야하는데, 여기서 방문자 및 방문 시간의 IP 주소를 저장하게됩니다! (예 : 10 분) "(지금() - 10 분"은 논리를 보여 주기만하면됩니다.) 이것이 IP 주소가 아니라는 것을 알고 있습니다. 함수 :온라인 방문자 수를 계산 하시겠습니까?

이 goog 방법은 무엇입니까?

제게 아이디어를주십시오.

감사

답변

3

This is good tutorial. 참고 mysql을 (내가 알면 그것을 사용 믿습니다) 온라인 사용자 테이블이 메모리로 입력해야합니다. 난 당신이 데이터를 저장하는 AJAX을 사용하는 방법을 정말 모르겠어요

+0

멋진 튜토리얼 !! +1 – nico

1

...

는 개인적으로 데이터베이스 솔루션을 사용합니다.

나는 user_id, last_seen, IP 및 위치를 저장합니다 (다만 계산할 필요는 없습니다).

사용자가 페이지를 새로 고치려면 last_seen 열을 입력하고 NOW()-last_seen이 x 분 이상인 모든 항목을 삭제하십시오.

0

웹 서버가 자체적으로 추적해야하는 원시 페이지 요청과 달리 "방문자"를 추적하는 것은 복잡한 기술입니다.

설명 된 것처럼 IP 주소를 저장할 수 있지만 모든 페이지가로드 될 때마다 IP를 자주 회전시키는 프록시를 사용하는 방문자는 어떻게됩니까? 같은 IP를 사용하는 동일한 프록시를 모두 사용하는 방문자 집합은 어떨까요?

내 추천 : 직접하지 마시고 Google의 무료 Analytics 서비스를 사용하십시오. 방문자, 브라우저, 트래픽 소스 등을 추적하고 사이트를 누가보고 있는지 알고 싶을 수 있습니다. 당신은 웹 사이트 방문자의 많은 쿼리가

그렇다면 ... 한 사용자가 꽤 느린 10 분마다의 페이지를 만들 수있을 것으로 기대하는 경우

+1

나는 그가 온라인 사용자의 수를 알고 싶어한다고 생각한다. 그는 사이트 통계를 위해 그것을 사용하고 싶지 않다. – nico

-1

, 그 것이다 CLI 스크립트를 작성 제안 이전 항목을 지우고 cronjob에서 실행하십시오. 이렇게하면 parsetime이 CLI에 소요되므로 사용자는 지연을 알 수 없습니다.

0

예, 알고리즘은 o.k입니다. 일반적으로 약간의 수정이 있습니다.

모든 오래된 레코드를 먼저 삭제 한 다음 나머지는 계산하고 싶지 않을 수 있습니다.
10 분이 너무 많습니다. 1-3은 사용자가 페이지에 소비 한 평균 시간입니다.
AJAX 프로젝트는 재미 있지만 저장과는 아무런 관련이 없습니다. 클라이언트 - 서버 응용 프로그램에 대한 더 많은 교육이 필요합니다. AJAX는화물이 아니라 운송 수단입니다.

+0

내가 아약스를 썼을 때, 데이터베이스에 데이터를 저장하기 위해 자바 스크립트를 사용했다는 것을 의미합니다 :) – Simon

관련 문제