2010-07-26 50 views
2

我在服务器端使用TCP keepalive来保持连接处于活动状态,并在客户端死亡时通知服务器。如何在一段空闲时间后配置jQuery.get()断开连接?在不活动期间后断开jQuery连接

编辑 - 我想考虑“空闲时间”作为没有TCP数据包交换的时间。由于服务器具有TCP keepalive,它将不断向客户端发送0数据包。

@ J-P的回答并不完全符合我的要求。如果连接处于打开状态,则保持活动状态但没有数据,我想将其保持无限期打开状态。

+0

我不知道,这是否可以用JavaScript来实现控制。如果没有请求,我认为浏览器可以自由结束连接。这就是你可以用XmlHttpRequest完成的所有事情:打开或关闭连接。 – Boldewyn 2010-07-26 08:16:42

+0

连接上有打开的传出请求。 – ripper234 2010-07-26 11:02:18

回答

1

使用timeout选项:

jQuery.ajax({ 
    url: '...', 
    timeout: 3000, 
    success: function(){ /*...*/ } 
}); 

或者,如果你想为所有请求相同的超时:

$.ajaxSetup({ 
    timeout: 3000 
}); 
+0

不完全是我以后(见编辑的问题)。 – ripper234 2010-07-26 08:08:59