Open Tim1104 opened 4 years ago
断开了后重新连接一次
这个在客户端做?
怎么踢人下线
API端
https://github.com/2881099/im/blob/master/ImCore/ImServer.cs 看看94行,112行代码
94行是上线,112行是下线
你是要告知他们下线了,还是自己下线。
如果自己下线,断开websocket链接即可。
如果告知他们,我下线了,应该用用户状态表示,判断用户是否在线:imcore为上线,并且用户状态是a。当切换为后台运行的时候,把用户状态改为b,当切换进来的时候,把用户状态改为a。改变用户状态就是提交一个webapi接口。
我的想法是ImHelper 里面是否可以强制让client 下线。然后就可以触发下线事件
我看了一下,ImHelper 如果想实现物理将他人踢下线,其实也是一个 SendMessage 的过程。
如: ImHelper.SendMessage(目标用户, "SYS_DOWN") ImServer 内处理一下该消息,当收到 SYS_DOWN 消息时,将 socket 关闭。https://github.com/2881099/im/blob/master/ImCore/ImServer.cs 142 行代码
缺点:安全性需要加强,防止任何用户都能发送该消息。
这块代码我就不扩展了,提供上述解决思路,可以下载源码修改尝试。
感谢你的回复。我打算用在我的生产应用上面。不知道你有没有用在商业环境上面。是否可以你的微信或者qq 。我的微信 18938792061
有,这套用几年,在多个项目上
就想再API端踢人下线。 Android 当APP 运行再后台的时候网络会断开。当APP 运行到前台来的时候怎么自动重连 老大求解