Javascript Ajax请求完成后,jQuery会关闭TCP连接吗?

Javascript Ajax请求完成后,jQuery会关闭TCP连接吗?,javascript,jquery,ajax,tcp,Javascript,Jquery,Ajax,Tcp,我有一个jQuery脚本,它使用setInterval()每秒运行一次。此脚本向php脚本“即handler.php”发出ajax请求 我的jQuery代码如下所示 function checkMessages(){ $.ajax({ type: 'GET', url: 'handler.php', data: {method: 'getMessages', jSON: true},

我有一个jQuery脚本,它使用
setInterval()
每秒运行一次。此脚本向php脚本“即handler.php”发出ajax请求

我的jQuery代码如下所示

    function checkMessages(){
        $.ajax({
            type: 'GET',
            url: 'handler.php',     
            data: {method: 'getMessages', jSON: true},
            dataType: 'json',
            cache: false,
            timeout: 1000,
            success: function(data) {
                if(requestCounter <= 1){

                    if(requestCounter < 3){
                        requestCounter++;
                    }

                }

                processServerData(data);
            }
        });
    }



    function startCalls(){

            setInterval(function() {
                                checkMessages();
                            }, 1000);
    }
函数检查消息(){
$.ajax({
键入:“GET”,
url:'handler.php',
数据:{method:'getMessages',jSON:true},
数据类型:“json”,
cache:false,
超时:1000,
成功:功能(数据){
如果(请求计数器)
jQuery会自动关闭到服务器的TCP连接吗?还是我必须手动关闭它

答案很简单:你不应该在意

jQuery在抽象级别(*)上运行,在抽象级别上,您既不能手动启动TCP连接,也不能手动断开TCP连接,即使您想这样做。一切都由浏览器负责


(*)您可以在浏览器中的JavaScript中执行的所有操作都在该抽象级别上运行。这不仅是为了方便,也是为了安全

  • 在一个专注于UI生成的脚本平台中,像手动管理TCP连接这样的事情完全超出了范围。将这些事情抽象出来是非常明智的
  • 您不希望随机网页通过几行脚本访问低级系统资源,因此浏览器的构造方式是它们无法访问的
  • 您可以通过告诉浏览器是保持打开的连接还是立即关闭连接。请尝试将
    Connection:close
    添加到您的响应中

这不是jQuery所做的事情;这是浏览器如何实现XHR的问题。不,没有关闭XHR连接的API。要详细说明抽象级别,完全有可能XHR请求甚至不会打开TCP连接,因为资源被指示在浏览器上缓存一段时间。@Katana314.作为用户(即web开发人员),您几乎无法知道哪个是哪个。谢谢。我正在尝试解决一个问题,即服务器达到允许的最大TCP连接“即5000”虽然我可以增加限制,但我需要理解为什么服务器会达到这么多。我的想法是,TCP连接没有关闭,这导致TCP连接达到峰值,从而导致达到限制。您是否查看了客户端窗口在页面生命周期内保持打开的TCP连接数?是否有crease?在你确定这是真正的原因之后。在没有正确诊断的情况下,不要采取任何补救措施。有一些诊断工具可以显示每个进程的连接。Windows有非常方便的TCPView和process Explorer,Linux有netstat和其他一些,我确信。首先在服务器上工作,了解连接的位置断层来自何处以及在何处结束,然后对客户机进行处理,找出是谁造成了断层,以及断层是否与代码相关。