可以客户端的JavaScript检测时,服务器已关闭HTTP连接,而客户端没有工作?

StackOverflow https://stackoverflow.com/questions/737878

  •  09-09-2019
  •  | 
  •  

在我的应用程序,客户端是一个Javascript一套在浏览器的功能,它做了一些工作 - 例如,播放剪辑。 它使用XMLHttpRequest来交谈的服务器。 然而,允许服务器突然关闭连接,因为没有它似乎没有别的办法,打断客户端。 客户端可以检测,但播放剪辑的同时,该连接被关闭,所以打印一条消息并清除网页? 任何帮助表示赞赏。 谢谢, 阿尼尔

有帮助吗?

解决方案 3

它似乎服务器的不能通知客户端,连接被关闭;然而提出的轮询方法是效率不高的通知本来。

我通过指定下一个Get请求,客户端将被告知它的会话是无效的解决了这个问题。

追加“JSESSIONID = [ID]”由Javascript函数发送的每个请求 -

这是由URL重写实现。小服务程序存储当前会话ID。

其他提示

如果剪辑被传输到客户端,你可以只是停止服务吧。

然而,它看起来像夹子被下载,然后通过浏览器播放。在这种情况下它可能是最好的,因为通过CookieOfFortune描述使用监视的方法:定期轮询服务器(一次一秒钟左右),并把它与确认的微小的消息作出响应。当连接被关闭时,获取服务器以负messgage响应。

不幸的是,不使用类似彗星的系统,这是很难让服务器“发送”的消息表明会话结束。

请记住虽然,只要客户端已经下载的剪辑,他们将能够完全发挥,如果他们想。不幸的是有没有办法阻止这个除了切换到流媒体的方式。如果保护您的内容是当务之急,我建议做这种改变。

您或许可以轮询XMLHttpRequest对象,所以只是尝试在一段时间发送心跳每一次,看是否连接被关闭。否则,服务器必须发送一些信号,告诉客户端它会关闭连接。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top