【问题标题】:How to implement real time application pure如何实现实时应用纯
【发布时间】:2015-11-21 07:46:59
【问题描述】:

我实际上正在开发银行现金管理应用程序。它必须是实时...一旦数据库发生变化,它必须发送给客户...我不'不想使用长轮询或 ajax 等...(因为它通过重复请求给服务器增加负载)...

不能使用 nodejs 或其他服务器相关技术...(未安装在服务器中)...问题是我想 用 php 开发纯服务器...任何人都可以发布代码并给出有关它的详细信息...在互联网上搜索了很多,但那里没有...建议将不胜感激

[编辑]

我将我的 angularjs 代码用于长轮询:

function dataCtrl($scope, $timeout, Data) {
                $scope.data = [];

                (function tick() {
                    $scope.data = Data.query(function(){
                        $timeout(tick, 1000);
                    });
                })();
            };

我在下面的代码中调用了tick函数

$http.get('url').success(function(data, status, headers, config) {
                  data.response = data;
                  $('.serverStatus').text(data.response.message);
                  data.calls++;
                  $timeout(poller, 1000);
                });
              };

【问题讨论】:

  • 这里的“实时应用程序”或“实时”到底是什么意思?我的印象是,您在这里实际上指的不是通常所说的“实时约束”。除此之外:为什么 ajax 长调用要在服务器上施加负载?在发送回复之前,它们处于空闲状态。您可以查看用于推送通知的 Web 套接字,但这并没有真正改变底层的基本架构。
  • 我的意思是就像facebook...当有一个用户评论/喜欢时,更新发送给当时的其他用户
  • 你找不到任何东西,因为你不能在没有 javascript 的 php 中做到这一点。
  • 我使用了 javascript comet/ajax.. 但它每秒(或时间间隔)从我的浏览器向服务器发送请求.. 但我只希望浏览器在收到更改时获取数据从服务器
  • 对不起,这是不可能的,因为技术不提供这样的东西。浏览器不是服务器,因此无法从外部联系。在大多数情况下,这也会违反网络拓扑。

标签: php node.js sockets real-time


【解决方案1】:

你必须在你的应用程序中使用套接字...你可以在这里找到名为 Rachet 的 PHP 套接字库 http://socketo.me/

用户之间必须有套接字连接。所以socket会一直监听直到数据到来

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-10
    • 2017-07-10
    • 2016-03-07
    相关资源
    最近更新 更多