Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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 jQuery服务器;推;系统_Php_Jquery_Ajax - Fatal编程技术网

PHP-AJAX jQuery服务器;推;系统

PHP-AJAX jQuery服务器;推;系统,php,jquery,ajax,Php,Jquery,Ajax,我正在创建一个需要实时通知系统的web应用程序。我如何设置我的服务器从mySQL数据库中提取数据,然后将其推送到浏览器。我完全不知道怎么做。如果有人能帮忙,我们将不胜感激!非常感谢你 编辑:我应该更具体一点,我正在提取数据,因为在XYZ最近创建了一个帐户,XZY最近。。。非常感谢 您无法将数据推送到浏览器,但您可以做的是将网页设置为每隔几秒钟轮询服务器以获取更新。示例设置为: 在你的网站中,有一个javascript函数,它每隔几秒钟(或任何最适合你的时间间隔)在计时器上运行一次 在页面加载时启

我正在创建一个需要实时通知系统的web应用程序。我如何设置我的服务器从mySQL数据库中提取数据,然后将其推送到浏览器。我完全不知道怎么做。如果有人能帮忙,我们将不胜感激!非常感谢你


编辑:我应该更具体一点,我正在提取数据,因为在XYZ最近创建了一个帐户,XZY最近。。。非常感谢

您无法将数据推送到浏览器,但您可以做的是将网页设置为每隔几秒钟轮询服务器以获取更新。示例设置为:

在你的网站中,有一个javascript函数,它每隔几秒钟(或任何最适合你的时间间隔)在计时器上运行一次

在页面加载时启动计时器

该javascript函数调用对web服务器上的web服务的AJAX调用(稍后将详细介绍)

在服务器端,您需要某种系统来跟踪这些事件,并将它们存储在某个位置,例如带有时间戳的数据库表中。例如,当XYZ创建一个帐户时,该帐户将被记录在数据库中的这个“事件”表中

AJAX调用调用的web服务随后将对该表运行查询,并检索自上次调用以来的所有条目。然后用这些结果更新网页


这显然不是100%的“实时”,因为根据您在JS计时器中设置的时间间隔,会有一个小的延迟,但它非常接近。

您可以使用WebSocket为您的网站创建推送通知服务,并对不支持WebSocket的浏览器进行长时间的轮询回退。这确实需要大量的技术/编程知识

这方面的一些好资源是: (使用node.js后端进行web套接字并处理降级) (如果您不想推出并维护自己的服务,则为商业解决方案)

要查看支持WebSocket的浏览器列表,您可以搜索“caniuse”——它提供了浏览器版本支持的功能的详细信息


注意:对于Facebook等数百万用户的应用程序,我认为他们已经权衡了为5000多万同时使用的用户运行websockets的优势,并得出结论,在连接到数百万sockets的所有节点上保持数据一致太多了。我可以想象,在套接字系统而不是像sql这样的基础设施上这样做将是一场逻辑噩梦。但我不能代表他们发言,这只是我的假设。然而,你会惊讶于最近有多少网站使用推送和投票系统:)

+1此外,请看,非常感谢!我一直在互联网上到处找这个。非常彻底和伟大的想法。从来没有想过这一点,看看Facebook上的网络请求,他们就是这么做的。准确地说,每219毫秒。最后一个问题是,使用这种方法,经过多年的运行,服务器上有数百万个请求,有没有办法让服务器陷入严重困境?谢谢服务器陷入困境的可能性主要与web服务的参与程度以及在任何给定时刻的流量有多大有关。换句话说,如果该服务需要多次查找或其他繁重的处理,并且您以高频率轮询该服务,那么您的服务器可能会陷入困境。但是如果你只是做一个简单的查询并返回结果,假设你的数据库服务器上没有很大的负载,你应该没事。好的,谢谢,我很怀疑我的服务器会陷入困境。