有个客户端程序大概是这样的:
   web前端页面登录--(登录请求)---》后台--(发送登录信息,登录成功后持续发送心跳)----》服务端前端登录成功后,后台程序就每隔30秒发送心跳包来维持长连接。然后获取服务端返回的数据给前端。现在遇到这种情况:
就是关闭前端web页面后,这种情况下,就不需要后台发送心跳与服务端进行连接了,但是目前后台还是在发送心跳。如何做到前端web页面关闭后,后台跟服务器的连接也关闭。   然后等前端重新打开浏览器再次登录时,后台在处理与服务器的连接。
简单就是说:
  1、浏览器页面一直打开着,后台就与服务端保持长连接。
  2、如果浏览器页面关闭,后台就关闭与服务端的连接。
  3、等浏览器页面重新打开,就是重新进行登录连接....

解决方案 »

  1.   

    这就可能会牵扯到浏览器cookie了吧!页面关闭,cookie不一定就在不在了,而是有一定的时间,只有用户正常退出才能做
      

  2.   

    使用socket啊,页面关闭socket就自动断开了,并且服务器可以收到socket断开通知,重新打开页面的时候再连接socket,服务器同样会有通知的。至于如何辨别socket是哪个用户,你在socket连接和断开中添加标识参数就好了。
    如果不清楚socket使用的话,先去学习下socke再来。
      

  3.   

    websocket,页面关闭,服务端能监听到关闭事件的
      

  4.   

    你没仔细看楼主说的问题,有心跳、长连接的不是用了websocket么?既然用了websocket,服务端就可以监听到客户端的关闭事件了。
      

  5.   

    也许是我看错了,web->后台->服务器,这里的后台不是服务端。
    你的web和后台之间可以用websocket通信