花费很长的轮询请求之后超时的请求时,如果该服务器未在一定期限,则返回一个错误不愉快(405 nginx的)之后响应的最佳方式。如何在一段时间后用PHP过期请求?你推荐几秒钟?提前致谢。长轮询 - 某些秒
回答
好那么这里我怎么会做到这一点,我已经建立了一个类似的脚本为我的业余时间项目之一,而不是做一个完整的无限循环,我会做一个循环有限量编号的循环,和睡眠在中间保存大量的cpu使用情况,可能并不完全如何设计你的代码,但它很好,它可以正常停止200代码,当然你可以改变循环计数器和睡眠值来适应你的代码。
<?php
header('Cache-Control: no-cache');
header("Content-Type: text/event-stream");
$i = 60;
while($i--){
echo "data: ".date("Y-m-d H:i:s")."\n\n";
echo "\n\n";
ob_flush();
flush();
sleep(1);
}
然后让它重新连接并重新启动一个新的循环。
PS:你实际上得到您的数据流?或者流保持空白直到连接终止?
非常感谢你,我喜欢你的解决方案,但我确实有一个问题。这样循环就是60次尝试,因为如果没有结果,那么1秒的睡眠可能超过60秒的限制,然后返回错误405,不是吗? – user2799274
可以延长nginx的正常限制,让我找的配置 –
尝试像'fastcgi_read_timeout 2M;'在一个位置块(2分钟超时)将包括长轮询,例如像 –
- 1. 长轮询VS流约1更新/秒
- 2. AJAX轮询频率 - 要长期轮询还是不轮询长轮询?
- 3. Angularjs长轮询
- 4. Java长轮询
- 5. 长轮询
- 6. 轮询vs长轮询与推(
- 7. 长轮询实施
- 8. 长轮询混淆
- 9. Simpliest蟒蛇长轮询
- 10. 使用异步长轮询?
- 11. 长角度轮询问题
- 12. Django Gunicorn长轮询
- 13. WebSockets和长轮询
- 14. 长轮询事件
- 15. 长轮询事件
- 16. SignalR长轮询传输
- 17. PHP长轮询失败
- 18. SignalR长轮询在5秒内断开连接
- 19. HTTP长轮询 - 超时最佳实践
- 20. jQuery的AJAX PHP长轮询
- 21. 扩展聊天应用 - 短轮询与长轮询(AJAX,PHP)
- 22. 卡夫卡长轮询
- 23. 使用NSURLConnection的长轮询
- 24. PHP - 长轮询通知
- 25. 长轮询和IE的XDomainRequest对象
- 26. 春季长轮询ConcurrentModificationException
- 27. Rails:长轮询实践
- 28. 长轮询服务器
- 29. 长轮询与Java和JBoss
- 30. 阿贾克斯长轮询
什么是PHP在做什么,它循环/睡觉等待什么? –
是的,它是一个循环等待的东西。 – user2799274
可以共享代码的那部分,然后我会回答你的问题 –