【发布时间】: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