首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

服务器推送出现的JS有关问题

2013-01-04 
服务器推送出现的JS问题服务器代码:while (true){//死循环保持长链接str script window.parent.Chang

服务器推送出现的JS问题
服务器代码:
while (true)
{//死循环保持长链接
str = "<script >window.parent.Change('" + DateTime.Now.ToLongTimeString() + "')</script>";
this.Context.Response.Write(str);
this.Context.Response.Flush();//输脚本调用出
System.Threading.Thread.Sleep(1000);
}
上面的代码写在一个HttpHandler中

当客户端关闭时,服务器并不知道或是没有马上知道,于是向浏览器继续推送。
当执行<script >window.parent.Change('" + DateTime.Now.ToLongTimeString() + "')</script>时
由于找不到Change()方法浏览器提示JS错误。

请问如果在浏览器关闭窗口时能通知到服务器 中止死循环。
[解决办法]
try{}catch{Response.End();}

多简单粗暴有效啊!
[解决办法]
Comet? 记录每个request连接的时间   服务器上循环的时候设置timeout 比如60秒    循环的时候就算达到50秒后就push   然后客户端继续连接一个新的request   
这样即使关闭了浏览器   刚才的连接也会在60秒后自动放弃

热点排行