학교에서 인터넷에 액세스 할 수 없었을 때 블로그 프로그램을 변경하고 블로그 온라인 수를 추가했습니다. 그 전에는 온라인 사용자를 계산하는 몇 가지 코드도 읽었습니다. 나는 그들이 내 요구 사항을 충족시키지 못한다고 느꼈으므로 블로그 프로그램과 함께 직접 작성하여 블로그에 적용했습니다.
ASP가 온라인 사용자 수를 계산하는 일부 방법은 FDREAM의 블로그에 언급되어 있습니다. 자세한 내용은 여기를 참조하십시오.
정확성과 효율성의 균형을 맞추기 위해 수동적 접근 방식을 사용하여 온라인 사람들을 계산했습니다. 즉, 새로운 방문자가있을 때 온라인 사람들의 수를 업데이트했습니다. 누군가 인터넷 에서이 방법을 사용했는지는 모르겠지만 지금은 내가 생각하는 것을 정확히 사용하고 있습니다 ^_ ^.
방문자가 새로운 방문자인지 확인하기 위해 L- 블로그에서 세션이 사용됩니다. 세션의 시간 초과 시간은 일반적으로 20 분이며, 온라인으로 사람들의 수를 세는 데 사용할 수 있습니다. 즉, 20 분 이내에 활동하는 방문객은 온라인이라고 생각합니다.
Common.asp에는 액세스 레코드를 기록하는 다음 코드가 있습니다.
코드 사본은 다음과 같습니다.
'Guest_ip은 손님의 IP입니다
ifsession ( "guestip") <> guest_ipthen
Dimguest_agent, Guest_refer
'Guest_agent 및 Guest_refer 액세스 레코드를 사용해야합니다
guest_agent = trim (request.servervariables ( "http_user_agent")))
guest_refer = trim (request.servervariables ( "http_referer"))
'액세스 레코드를 추가하십시오
conn.Execute ( "insertIntoBlog_counter (coun_ip, coun_agent, coun_refer) 값
( ' "& guest_ip &"', ' "& guest_agent &"', ' "& guest_refer &"'))))
'방문 1을 추가하십시오
conn.execute ( "updateBlog_infosetBlog_visitnums = blog_visitnums1")
sqlquerynums = sqlquerynums2
'세션과 함께 게스트 IP를 저장하십시오
세션 ( "guestip") = guest_ip
endif
온라인 사용자 통계를 달성하기 위해 데이터베이스를 몇 가지 변경했습니다.
1. 웹 사이트의 현재 온라인 사용자를 저장하기 위해 Table Blog_info에 1 개의 Field Blog_onlineNums (정수)를 추가했습니다.
2. 테이블 블로그 _onine이 추가되고 필드는 ol_id (자동 번호), ol_ip (문자, 20), ol_time (날짜/시간, 기본값 지금)으로 설정됩니다.
수정 된 사이트 통계 코드는 다음과 같습니다.
코드 사본은 다음과 같습니다.
'사이트 통계 코드
ifsession ( "guestip") <> guest_ipthen
'원래 사이트 액세스 카운터
conn.execute ( "insertIntoBlog_Counter (coun_ip, coun_agent, coun_refer)
값 ( ' "& guest_ip &"', ' "& guest_agent &"', ' "& guest_refer &"') ").
conn.execute ( "updateBlog_infosetBlog_visitnums = blog_visitnums+1")
sqlquerynums = sqlquerynums+2
세션 ( "guestip") = guest_ip
'온라인 수의 사람들
'방문자가 온라인 목록에서 시간을 초과했는지 여부를 결정하십시오.