⑴ Web网站检测是否在线
Web网站检测没有在线。
用户打开浏览器登陆某烂配网站时,会在服务器端生成session id。用户关闭浏览器时该session id不会被立刻释放,而如果此时用户打开浏览器重新登陆网站,会被分配一个新的session id。如果用户浏览网页期间发生断网瞎洞等现象,网络恢复正常之后浏览器端仍然使用原饥神指session id。
⑵ C#webfrom+sql2005如何实时判定用户在线
由于http协议是无状态的,所以每次客户端提交请求后,不会和服务器保持连接。 服务器也不知道客户端的状态。
要实现这种功能,一般是使用web中的session机制,即每个新用户访问服务器后,系统会给这个用户生成一个session,默认超时时间为20分钟,即用户在20分内无请求,系统即认为用户已离开,用户超时后再访问系统,系统会重新生成一个新的session。
所以,你只要判断当前用户的session是否存在即可。
if(Session["Online"]!=null)
//在线用户
else
//新用户
使用session的要求之一是用户客户端的浏览器的cookie功能正常,因为系统生成session后会把SessionID发给用户,用户在以后的每次提交时都要把这个SessionID再提交给服务器,以告知服务器我是上次获取了Session的那个人。培宴所以当客户端浏览器清空了cookie时,也会导致用户的session失效。
补充:
只有用户在默认的20分有请求,系统才认为用户是在线的,你用户在那里无请求操作,那系统等了20分钟,就认为你离开了。
1,你可以延长Session时间,但会更多的消耗服务器资源,一般不这样做。
2,你可以把用户的登陆用户名密码写在客户端的cookies中,这样当用户过了20分钟超时后再访问你袭中橘的站点,你就判断客户端是否发送来cookies数拍团据,如果有,那就用这个cookies 里面的账号帮用户自动登陆。这个时候实际上,系统还是重新生成了一个新的session,但用户察觉不到,以为是上次登陆后自己一直在线的。 ——这种也是目前各种网站的主要做法。
if(Session["Online"] == true)
//在线用户
else
if(Request.Cookies["UserAccount"]!=null)
{
//帮用户登陆
//........
//写cookies
Response.Cookies["UserAccount"] = "xxx";
Response.Cookies["UserAccount"].Expires = //cookies有效期;
Session["Online"] = true;
}
else
{
//跳到登陆页面
}
⑶ JavaWeb开发网站,监测用户在线状态
用session超时的特点来实现
1.用户登录,session生成 用户在线
2.用桥哗户机器断电。一定时间(这个怎么设置我就不讲了,地球人应该都知道)后session超竖消野时 通过session监听器实现 用户下线
3.用户退出 用余喊户下线
⑷ java 做web 聊天,如何判断用户下线
可以隔一段时间检查一下session,及时的更新List<User>中的信息,也就是隔一段时间清除掉List<User>中的信息,同时再把session中的user添加到List<User>中,就可以知道那些用户下线了,并且从List<User>中删除这个user。