aspは現在のオンラインユーザーを統計するソリューションを実現します。


現在のオンラインユーザーの解決策を統計して、オンライン交流のウェブサイトを作る時、問題があります。つまり、オンラインユーザーの問題をリアルタイムで統計します。お客様の要求です。現在のオンライン人数、観光客数、会員数、オンラインユーザーリストを統計して、観光客、会員と管理人(観光客なら、自動的に観光客のIDを生成します。会員であれば、会員名が表示されます)。リアルタイム性が必要なので、まずglobal.asaで解決する考えをパスします。問題の鍵は、ユーザが離れたとどう判断するかということと、ユーザが離れた時にどのように1つのファイルまたは関数を実行するかということです。ネット上の友達と相談した結果、この問題を解決しました。解決の原理は、汎用ページを作成するということです。一般ページとは、アプリケーションの各ページにこのページが含まれています。例えば、header.aspは、このページでXMLHTTPでコードを書きます。このコードの役割は10秒または20秒ごとにサーバーに要求を送ります。目的は、現在のユーザのオンライン時間を更新し、オンライン時間が一定時間を超えるユーザを削除し、データベース内のオンラインユーザ記録を一定のリアルタイム性に保つことである。主な実施方法は、データベースを新規作成し、フィールド名はそれぞれid(文字)、name(文字)、user(数字)tt(日付)、admin(権限コード、0-一般ユーザー、1-管理人)表名:オンラインheader.asp ↓================================================================================================================== ... if セッション("s_"in"<>1 and セッション("s_"name"=" then 'ユーザが最初にログインした場合、rs.open "プロジェクト * from online",conn,3 rs.addnewrs("id")=session.session ID rs("name")="観光客" & session.sessionID rs(user)=0 '0はユーザーがログインしていないことを表しています。旅行者の身分rs(tt)=now rs.udate rs.close sessionです。in"==1 'ユーザーの資料を設定してすでにデータベースに保存しました。オンラインendという意味です。 if セッション("s_"name"<>"" then 'ユーザーがログインボックスを通じてrs.openにログインした場合 "プロジェクト * from オンライン where id='' & session.session ID & "'",conn,3,3 rs(“name”)=session(“s_”name「)rs("admin")=session("s_"admin") 'ユーザーの名前を会員名rs(user)=1に更新します。 'ユーザがログインしたことを示す、会員身分rs(tt)=now '現在のシステム時間をユーザのログイン時間rs.udate rs.close endに設定します。 if… ... %> ... ... …. ... <スクリプト laguage=javascript>function Test(){var} xmlhttp = new ActiveXObject(「MSXML 2.XMLHTTP」);xmlhtp.open(「POST」「onceonline.asp」false) // onceonline.aspに更新要求xmlhtp.set Request Header(「CONTENT-TYPE」、「appication/x-wn-form-urlencoded」)を送信します。xmlhttp.send();set Interval(「Test()」、10) // 10秒に一回の更新要求を送信します。 ... …. ... ========================================================== onceonline.asp<%rs.open "プロジェクト tt。 from オンライン where id='' & session.session ID & "'",conn,3,3 rs("tt")=now() '現在のオンラインユーザーのオンライン時間rs.udate rs.close rs.openを更新します。 "delete from オンライン where datediff('s',tt,now()>>60',conn,3,1 'タイムアウトユーザ%を削除>===========================================================================================================================================================それはオンラインユーザー0人のミスを引き起こす可能性があります。本プランはWIN 2000+SQLにあります。 Server 2000上でデバッグを通して、この方案はシステムに対して要求が大きいので、他の友達がより良い方案を出すことを期待して、一緒にこの問題を解決します。