如何实现C#winform程序断电异常处理(可以提供思路,最好提供源码,可以再加分)
比如我这边有一个winform的网关程序,正常退出的话,都会把登陆标示改为退出状态,但是非正常退出(如断电),那么下次登陆的时候,这个标示还是处于登陆状态,那么怎么处理这...
比如我这边有一个winform的网关程序,正常退出的话,都会把登陆标示改为退出状态,但是非正常退出(如断电),那么下次登陆的时候,这个标示还是处于登陆状态,那么怎么处理这类问题呢?
没有客户端,只有服务器,网关程序在服务器运行 展开
没有客户端,只有服务器,网关程序在服务器运行 展开
3个回答
展开全部
超时处理啊。登录后记录下登录信息(IP,端口等神马的),简单点的可以定期扫描网络连接的,登录信息里面不在网络连接列表的,一律断开处理就行了。复杂点的可以发送心跳包,ping也可以的。
更多追问追答
追问
定期扫描网络连接可能对于断电异常,还是可以解决的,但是如果是死机之类的,就不能够处理了。嗯,如果是发送心跳包,具体该怎么处理呢?
追答
心跳包这个东西更多的用于数据通信之中。也就是连接建立好以后,服务端定期发送一个数据包到客户端,客户端必须回应,如果没有回应,那么认为掉线;有回应,认为在线。就和心跳一样,所以叫做心跳包
展开全部
这东西没什麽好说的,心跳包是最常用的,IIs对这种处理都是使用Session的啦,每隔几分钟发一次就行了,至於心跳包怎麼做,winform的话,看你使用什麽和服务器连线了,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用类似web程序的session机制就ok了,后端维护一个登录列表20分钟无操作就删除。
其实这东西很类似wow的仇恨列表。你一旦靠近boss,仇恨就产生了。这个仇恨,会自然衰减。除非你继续靠近或者使用仇恨技能,这个仇恨才会增加。一旦仇恨衰减到一定程度boss就不理你了
其实这东西很类似wow的仇恨列表。你一旦靠近boss,仇恨就产生了。这个仇恨,会自然衰减。除非你继续靠近或者使用仇恨技能,这个仇恨才会增加。一旦仇恨衰减到一定程度boss就不理你了
追问
哈哈。你很幽默。那么具体怎么实现了,最好有源码什么的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询