客户端在线每隔整点给积分怎么设计
发布时间:2011-06-23 20:39:19 文章来源:www.iduyao.cn 采编人员:星星草
客户端在线每隔整点给积分如何设计
客户端在线每一小时赠送1积分,不足一整小时不给积分。
请问这种c/s 如何设计,对应的数据库结构又应该怎么设计?
目前客户端可以主动定时向服务器发出在线的信息。
希望大家能给我些思路,谢谢!
------解决方案--------------------
客户登录记下时间,如果能在客户端计时更好,否则每隔一定时间客户端发在线信息,到一小时无客户信息视为不在线,清空不送分。
------解决方案--------------------
保持“心跳”式通讯,服务器端记录客户端连续有回复的时间,不不到一小时断掉,时间归零,到一小时归零加积分继续计时。
------解决方案--------------------
谢谢happytonice
因为安全因素,这个计时的功能不想放到客户端去做。
目前的设计是这样的:
有一个在线表,主要字段有三个:客户端编号,上线时间,离线时间。
客户端上线时,会把当前时间计入上线时间;客户端一定时间内不发出请求,会认为客户端离线,将当前时间计入客户端离线时间。
积分就是通过计算这两者时间差来算。
------解决方案--------------------
这些算法设计都不是大问题。
我感觉最重要的是这个“连接状态”。把这个状态处理好,问题就不大了
------解决方案--------------------
OnLineStatus和OnLineStatusLog, 用户登录时,记录时间,并开启心跳作业, 每隔10s(自定义),对在线客户端进行轮询, 如果总时长〉1小时,并且心跳次数符合条件, 则送积分并将送掉的时长和心跳减掉放进log表,否则,更新最近登录登出时间、在线状态、心跳次数、总在线时长。
相同结构的两个表
OnLineStatus
OnLineStatusLog
字段
uid guid 自增主键
userid
username
lastlogintime 最近登录
lastlogouttime 最近登出
sumspan 总在线时长
connectid 会话id
ip
mac
area
addr
heartbeat 心跳次数
------解决方案--------------------
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
(VS2005)VB有关继承封装在DLL里窗体
公司里有一套自己的架构并把它封装在叫MFW的DLL里,再学习使用时发现了很多不明白的地方。例如:现...
-
如何让treeview点击结点不刷新页面?
如何让treeview点击结点不刷新页面?
------解决方案--------------------
帮你顶
------解决...
-
单薄的业务层
相信开发WEB信息的人都用到过三层架构
表示层--》业务层--》数据访问层
以前一直开发CS结构最近一年一直在开发...
-
类爆炸问题,对维护也是恶梦?
原意在ERP项目中有设计一个工序类用來描述工序:
public Process
{
public string ProcessNo
{
...
-
怎么实现随意变换网页字体?
想做个艺术签名的网站
字体也找了几个
就是在用户输入“名字”后
把“名字”转换成几个字体显示出来
...
-
关于政府部门网站数据库设计
今天上面安排让我做个政府有关部门的网站,我看了下不是很复杂。可到了设计数据库表时候碰到了些问题...
-
如何自动为录入的人员信息分配用户权限
我这里有两类人,一类是教师,一类是学生,要解决的问题是,在用管理员身份录入教师和学生信息时,...
-
Ext.Net 和ExtJS
现在在做一个项目,用到了EXT.NET 但是有个缺点就是EXT.NET里的时间选择器dateField不能选择时分秒,现在想到用EXTJ...
-
谁手里有现成的提示框样式啊,急用
谁手里有现成的提示框样式或者皮肤啊 还有弹出div层的好看一点的样式 给我个呗 我这急用呢 ...
-
求两个样式的例子...
一个是点击修改弹出修改表单表格 出现在列表上 要特别好看的那种 最好是悬浮的
一个 要弹出的确...