客户端Javascript是否可以在客户端工作时检测服务器何时关闭了http连接?
在我的应用程序中,客户端是浏览器中的一组Javascript函数,它执行一些工作,例如播放剪辑。 它使用XmlHttpRequest与服务器对话。 但是,服务器可以突然关闭连接,因为似乎没有其他方式可以中断客户端。 在播放剪辑时,客户端能否检测到连接已关闭,从而打印消息并擦除页面? 谢谢你的帮助。 谢谢客户端Javascript是否可以在客户端工作时检测服务器何时关闭了http连接?,javascript,connection,detect,Javascript,Connection,Detect,在我的应用程序中,客户端是浏览器中的一组Javascript函数,它执行一些工作,例如播放剪辑。 它使用XmlHttpRequest与服务器对话。 但是,服务器可以突然关闭连接,因为似乎没有其他方式可以中断客户端。 在播放剪辑时,客户端能否检测到连接已关闭,从而打印消息并擦除页面? 谢谢你的帮助。 谢谢 Anil您可能可以轮询XmlHttpRequest对象,因此只要每隔一段时间发送一次心跳信号,看看连接是否关闭。否则,服务器将不得不发送一些信号来告诉客户端它将要关闭连接。您可能可以轮询XmlH
Anil您可能可以轮询XmlHttpRequest对象,因此只要每隔一段时间发送一次心跳信号,看看连接是否关闭。否则,服务器将不得不发送一些信号来告诉客户端它将要关闭连接。您可能可以轮询XmlHttpRequest对象,所以只要每隔一段时间发送一次心跳信号,看看连接是否关闭。否则,服务器将不得不发送一些信号告诉客户端它将关闭连接。如果剪辑流式传输到客户端,您可以停止为其提供服务 然而,似乎该剪辑正在下载,然后通过浏览器播放。在这种情况下,最好使用Cookieoff Fault所描述的看门狗方法:定期(每秒一次左右)轮询服务器,让它以微小的确认消息作出响应。当连接关闭时,让服务器以负面消息进行响应 不幸的是,如果不使用类似comet的系统,很难让服务器“发送”指示会话关闭的消息
但是要记住,一旦客户下载了一个剪辑,如果他们愿意的话,他们就可以完整地播放它。不幸的是,除了切换到流媒体方式之外,没有办法阻止这种情况。如果保护您的内容是一个优先事项,我建议进行此更改。如果剪辑流式传输到客户端,您可以停止服务 然而,似乎该剪辑正在下载,然后通过浏览器播放。在这种情况下,最好使用Cookieoff Fault所描述的看门狗方法:定期(每秒一次左右)轮询服务器,让它以微小的确认消息作出响应。当连接关闭时,让服务器以负面消息进行响应 不幸的是,如果不使用类似comet的系统,很难让服务器“发送”指示会话关闭的消息
但是要记住,一旦客户下载了一个剪辑,如果他们愿意的话,他们就可以完整地播放它。不幸的是,除了切换到流媒体方式之外,没有办法阻止这种情况。如果保护您的内容是一个优先事项,我建议进行此更改。服务器似乎无法通知客户端连接已关闭;然而,建议的轮询方法并不像通知那样有效 我通过指定在下一个Get请求时,客户端将被告知其会话无效来解决这个问题
这是通过URL重写实现的——在Javascript函数发送的每个请求上附加“JSSessionID=[id]”。servlet存储当前会话id。服务器似乎无法通知客户端连接已关闭;然而,建议的轮询方法并不像通知那样有效 我通过指定在下一个Get请求时,客户端将被告知其会话无效来解决这个问题
这是通过URL重写实现的——在Javascript函数发送的每个请求上附加“JSSessionID=[id]”。servlet存储当前会话id。感谢您的回复。但是Javascript是单线程的。是否存在某种可以注册的异常或回调?我想做的是,在连接关闭时清除(擦除)浏览器。是的,可以用Javascript创建计时事件。谢谢你的回复。但是Javascript是单线程的。是否存在某种可以注册的异常或回调?我想做的是,在连接关闭时清除(擦除)浏览器。是的,可以用Javascript创建计时事件。好吧,Javascript是单线程的。是否存在某种可以注册的异常或回调?我要做的是,在连接关闭时将浏览器擦干净(擦除)。也许会话id可以工作。我将尝试一下,然后发回。好的,Javascript是单线程的。是否存在某种可以注册的异常或回调?我要做的是,在连接关闭时将浏览器擦干净(擦除)。也许会话id可以工作。我会试试,然后寄回来。