解决的实际问题:
前端用户登陆时同一个账号密码只允许在一个IP上登陆;
同一个IP只允许登陆一个账户密码。
知识点:websocket获取本机IP&websocket前后端消息推送
主要实现思路:
1.前端websocket 推送消息,创建一个new websocket,将前端的部分参数传给后台
sendMsg() //发送数据
2.前后端建立连接触发,客户端可以通过这个URL来连接到WebSocket服务器端,当连接成功时则调用其自身的onOpen方法
后端增加session参数,通过它来给客户端发送数据。
3.当出现异常或者错误时候前后端都有对应的错误异常处理机制
后端onError()处理:error.printStackTrace();
前端onerror处理:websocket.close();
4.监听窗口关闭事件
当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常。
window.onbeforeunload = function () {
websocket.close();
}
原文地址:
http://www.cnblogs.com/b-code/p/7992118.html
Web 通信 之 长连接、长轮询(long polling)
http://www.cnblogs.com/hoojo/p/longPolling_comet_jquery_iframe_ajax.html
如何限制一个账号同时只能一个人登录
https://www.cnblogs.com/yidaijiankuanzhongbuhui/p/7091683.html