Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.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 共享主机上实时通知的SSE或长轮询?_Php_Mysql_Long Polling_Shared Hosting_Server Sent Events - Fatal编程技术网

Php 共享主机上实时通知的SSE或长轮询?

Php 共享主机上实时通知的SSE或长轮询?,php,mysql,long-polling,shared-hosting,server-sent-events,Php,Mysql,Long Polling,Shared Hosting,Server Sent Events,在共享托管服务器上实现实时通知的最佳方式是发送事件(SSE)还是长轮询 我看了一段视频,视频中说SSE不适合共享主机、Apache服务器,并且不适合PHP和MySql 我只想知道哪种技术更适合在共享服务器上进行长轮询或SSE实时通知,我的服务器在godaddy.com上 请提供好的链接来解释推荐的技术。每个SSE连接都有一个专用的插座。如果您使用的是Apache和PHP,那么内存中也会有它们的一个实例。他们坐在那里,占用内存,即使你从未向客户发送任何数据 共享主机的经济性依赖于大多数用户在大多

在共享托管服务器上实现实时通知的最佳方式是发送事件(SSE)还是长轮询

我看了一段视频,视频中说SSE不适合共享主机、Apache服务器,并且不适合PHP和MySql

我只想知道哪种技术更适合在共享服务器上进行长轮询或SSE实时通知,我的服务器在godaddy.com上


请提供好的链接来解释推荐的技术。

每个SSE连接都有一个专用的插座。如果您使用的是Apache和PHP,那么内存中也会有它们的一个实例。他们坐在那里,占用内存,即使你从未向客户发送任何数据

共享主机的经济性依赖于大多数用户在大多数情况下都没有加载服务器的想法。如果您开始一直将apache进程保存在内存中,您的ISP将停止这些进程。例如,BlueHost似乎有一个脚本,可以自动查找和销毁长时间运行的进程;我想戈达迪也有同样的想法

除此之外,ISP可能会在您的网站前面放置缓存代理服务器,这将干扰SSE和长轮询。(在这种情况下,您可以向代理发送特殊的头,告诉它不要这样做。)

因此,SSE和长轮询不能用于共享主机并没有任何技术原因,但实际上您的ISP会试图阻止您

至于你问题的另一部分,SSE和long polling基本相同;SSE为您提供了一个内置的JavaScript API,效率更高。如果用户的浏览器支持SSE,请使用它,否则请编写自己的长轮询例程


如果您绑定到共享主机,我建议使用短轮询(即每15或30秒进行一次AJAX调用)。您增加了一点延迟,但节省了一点钱。

欢迎使用SO。请把你的问题说清楚。至少我不明白你的问题是什么。这个问题有点基于选项,有点宽泛。通常情况下,每个连接(您希望向其发送实时事件的用户)生成一个进程的设置无法很好地扩展。无论您是否保持进程活动(长轮询、sse、websocket等)或是否进行轮询。