banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành Windows Nhờ giúp đỡ cách lấy danh sách các member đang online  XML
  [Question]   Nhờ giúp đỡ cách lấy danh sách các member đang online 06/08/2007 02:15:46 (+0700) | #1 | 77031
h2hlehungviet
Member

[Minus]    0    [Plus]
Joined: 08/03/2004 07:39:55
Messages: 5
Location: Hà Nội - Việt Nam
Offline
[Profile] [PM]
Mình có làm một Web Application bằng .NET. Mình muốn lấy danh sách các member online, nếu User mà nhấn logOut thì mình kiểm soát được, tuy nhiên nếu user mà nhấn close trình duyệt thì mình ko biết làm thể nào để remover User đó đi cả. Có ai biết cách hiển thị danh sách các user này ko, xin chỉ giúp cho mình với!
[Up] [Print Copy]
  [Question]   Re: Nhờ giúp đỡ cách lấy danh sách các member đang online 06/08/2007 07:17:57 (+0700) | #2 | 77105
[Avatar]
KINYO
Member

[Minus]    0    [Plus]
Joined: 30/06/2006 19:10:11
Messages: 272
Location: localhost
Offline
[Profile] [PM] [WWW]
Nếu user đã close trình duyệt thì không có cách nào biết cả vì không còn bất cứ liên hệ nào giữa client và server nữa, ngay cả user không close mà nó bỏ đấy đi ăn cơm thì cũng vậy smilie
[Up] [Print Copy]
  [Question]   Nhờ giúp đỡ cách lấy danh sách các member đang online 08/08/2007 03:28:17 (+0700) | #3 | 77624
Quan Vân Trường
HVA Friend

Joined: 19/07/2002 10:13:30
Messages: 115
Location: 9:00PM-6:00AM
Offline
[Profile] [PM]
Bạn có thể sử dụng cách này:
Đặt "1 thời gian nhất định (1)", nếu sau khoảng thời gian ấy mà client ko có bất cứ request nào tới server thì bạn hủy session của client và lọai khỏi danh sách đang online.

Bạn thử làm như sau:
- tạo 1 column "lastaction" ghi thời gian request cuối cùng của client gửi đến server.
- tạo 1 script trong site của bạn (sao cho mỗi khi client load bất cứ trang nào thì script ấy cũng chạy). Script có nhiệm vụ ghi "thời gian hiện tại (2)" vào column "lastaction" (nếu user đã login). Đồng thời xóa đi những client có "lastaction" có thời gian bằng hoặc nhỏ hơn "thời gian hiện tại (2) - thời gian nhất định (1)".
Sử dụng cách này có 1 điểm dở là luôn luôn có 1 user đang oline smilie..

Nếu dùng *nix, có thể dùng cronjob để thực hiện việc này..

Thân..
Kernel Panic.
[Up] [Print Copy]
  [Question]   Nhờ giúp đỡ cách lấy danh sách các member đang online 08/08/2007 04:02:36 (+0700) | #4 | 77638
[Avatar]
KyNam
Member

[Minus]    0    [Plus]
Joined: 15/07/2007 01:37:35
Messages: 74
Offline
[Profile] [PM] [WWW]

h2hlehungviet wrote:
Mình có làm một Web Application bằng .NET. Mình muốn lấy danh sách các member online, nếu User mà nhấn logOut thì mình kiểm soát được, tuy nhiên nếu user mà nhấn close trình duyệt thì mình ko biết làm thể nào để remover User đó đi cả. Có ai biết cách hiển thị danh sách các user này ko, xin chỉ giúp cho mình với! 

trong global.ashx , handle sự kiện "SessionEnd" , kiểm tra nếu user đã đăng nhập thì xóa tên user đó khỏi danh sách "đang đăng nhập"

sau 1 khoảng timeout , session sẽ kết thúc
timeout có thể chọn trong IIS
[Up] [Print Copy]
  [Question]   Nhờ giúp đỡ cách lấy danh sách các member đang online 08/08/2007 12:17:36 (+0700) | #5 | 77755
h2hlehungviet
Member

[Minus]    0    [Plus]
Joined: 08/03/2004 07:39:55
Messages: 5
Location: Hà Nội - Việt Nam
Offline
[Profile] [PM]
Xin cám ơn mọi người, mình sẽ thử theo cách dùng sự kiện "SessionEnd" xem sao.
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|