可以客户端的JavaScript检测时,服务器已关闭HTTP连接,而客户端没有工作?
-
09-09-2019 - |
题
在我的应用程序,客户端是一个Javascript一套在浏览器的功能,它做了一些工作 - 例如,播放剪辑。 它使用XMLHttpRequest来交谈的服务器。 然而,允许服务器突然关闭连接,因为没有它似乎没有别的办法,打断客户端。 客户端可以检测,但播放剪辑的同时,该连接被关闭,所以打印一条消息并清除网页? 任何帮助表示赞赏。 谢谢, 阿尼尔
解决方案 3
它似乎服务器的不能强>通知客户端,连接被关闭;然而提出的轮询方法是效率不高的通知本来。
我通过指定下一个Get请求,客户端将被告知它的会话是无效的解决了这个问题。
追加“JSESSIONID = [ID]”由Javascript函数发送的每个请求 -这是由URL重写实现。小服务程序存储当前会话ID。
其他提示
如果剪辑被传输到客户端,你可以只是停止服务吧。
然而,它看起来像夹子被下载,然后通过浏览器播放。在这种情况下它可能是最好的,因为通过CookieOfFortune描述使用监视的方法:定期轮询服务器(一次一秒钟左右),并把它与确认的微小的消息作出响应。当连接被关闭时,获取服务器以负messgage响应。
不幸的是,不使用类似彗星的系统,这是很难让服务器“发送”的消息表明会话结束。
请记住虽然,只要客户端已经下载的剪辑,他们将能够完全发挥,如果他们想。不幸的是有没有办法阻止这个除了切换到流媒体的方式。如果保护您的内容是当务之急,我建议做这种改变。
您或许可以轮询XMLHttpRequest对象,所以只是尝试在一段时间发送心跳每一次,看是否连接被关闭。否则,服务器必须发送一些信号,告诉客户端它会关闭连接。
不隶属于 StackOverflow