Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 长轮询会阻止我的其他Ajax请求_Php_Xmlhttprequest_Long Polling - Fatal编程技术网

Php 长轮询会阻止我的其他Ajax请求

Php 长轮询会阻止我的其他Ajax请求,php,xmlhttprequest,long-polling,Php,Xmlhttprequest,Long Polling,好的,我确实使用Apache服务器,我有以下情况 我有一个JScript,它向一个长轮询PHP文件发送一个XHR请求 现在请求被长时间轮询15秒 现在,当长轮询正在进行时,我尝试发送另一个XHR请求 但另一个XHR请求超时,似乎无法到达我的Apache服务器 现在我的问题是,为什么会发生这种情况?这是因为Apache服务器对单个客户端只使用单线程连接吗?或者由于长时间轮询,连接变得持久,其他XHR请求无法被授予 我的服务器是带有Apache 2.4.2的XAMPP 1.8.0,这里已经找到了答案

好的,我确实使用Apache服务器,我有以下情况

  • 我有一个JScript,它向一个长轮询PHP文件发送一个XHR请求
  • 现在请求被长时间轮询15秒
  • 现在,当长轮询正在进行时,我尝试发送另一个XHR请求
  • 但另一个XHR请求超时,似乎无法到达我的Apache服务器
  • 现在我的问题是,为什么会发生这种情况?这是因为Apache服务器对单个客户端只使用单线程连接吗?或者由于长时间轮询,连接变得持久,其他XHR请求无法被授予


    我的服务器是带有Apache 2.4.2的XAMPP 1.8.0,这里已经找到了答案

    我需要使用下面的函数

    session_write_close();
    

    这真的解决了吗?我以为我已经修复了好几次,但结果证明它对时间很敏感。试试chrome中的“空缓存和硬重新加载”,看看你是否真的修复了它。如果长轮询请求位于另一个(重要)请求之前,并且保留时间为5秒,则重要请求将在打开另一个连接之前阻塞5秒。据我所知,浏览器没有实现HTTP管道,这是非常不幸的。甚至服务器推送事件(执行长轮询的“新方法”)也存在同样的问题。