在线用户管理
伺服器端设计
采用SQLite内存资料库进行持久化在线用户资讯
User 数据结构
struct User
{
String Guid; // Erp系统内Guid
String Code; // 登录使用帐户
String Abbr; // 用户简称
int Id; // 伺服器端连接ID
String IPAddress; // 客户端IP地址
Datetime LoginTime; // 登录时间
Datetime DropTimes; // 未进行心跳次数
}
UserList
内部使用定时器
每5秒检测,心跳次数>5次认为客户端断线。
KeepAlive
保持会话
IsLogin
判断用户是否已经登录
客户端设计
KeepAlive
定时60秒发送一次心跳包
用户登录系统后,产生TCP连接,发送登录讯息。