0

ユーザーがログインしているかどうかにかかわらず、私のプログラムはユーザーの可視性を検出する必要があります。データベースに情報を載せる

ここに擬似コード:

ユーザーが「ログイン」をクリックした場合 I ユーザー情報を ONLINE = TRUE に更新します。

ユーザーが「ログアウト」をクリックした場合 I ユーザー情報を ONLINE = FALSE に更新します。

私の質問は次のとおりです。ユーザーが「ログアウト」をクリックせずにウェブサイトを離れたり、コンピューターの電源を切ったりしたことを検出するにはどうすればよいですか

よろしくお願いします

4

2 に答える 2

0

これは、ユーザーの最後のアクティビティを追跡し、ユーザーが最後の 1 分間にアクティビティを行った場合にそのユーザーをオンラインで表示するだけで実現できます。

これに加えて、JavaScript を使用したポーリング メカニズムを使用して、この値を毎分更新し続けるか、ユーザーが JavaScript を使用してリクエストを送信して Web ページを開くことができます。

于 2013-05-30T08:44:50.837 に答える
0

サーバー側だけでユーザー アクティビティを検出することはできません。ユーザーがログインしたばかりの場合、何も言わないためです。次の秒でCookieをクリアして、もう一度ログインし、さらに何度もログインできます。

私が見るように、N秒ごとに「ユーザーはまだログインしており、現在のブラウザーページを使用している、および/またはいくつかのアクションを実行している」場合、サーバーに要求するクライアント側にいくつかのjsコードが必要です。サーバーが一部のユーザーからの要求を受信しない場合 (例: 5xN 秒間)、そのユーザーを非アクティブ/オフラインとしてマークできます。

于 2013-05-30T08:48:22.347 に答える