我的WinForms应用程序的身份验证通过使用HttpWebRequest
在PHP网站上注册会话来实现。
我希望每个用户只在一台计算机上进行身份验证。因此,当用户从计算机A登录我的应用程序并从计算机B连续登录时,应强制他们从计算机A登出。
当此用户在计算机B上登录时如何接收对计算机A注销的响应?
答案 0 :(得分:2)
你不能,因为你没有打开连接,它也是单向的(客户端 - >服务器)。因此,服务器永远不会回拨“此会话不再有效”。
为了做到这一点,你需要使用双向连接(服务器可以将消息推送到客户端),这可以通过多种方式完成,但需要大幅改变客户端和服务器。看看SignalR。
简单的方法是添加一个轮询机制,每隔N秒检查当前会话是否仍然有效,如果没有,则通知用户并关闭您的应用程序。