我正在创建一个Web应用程序/站点,我的服务器将向客户端推送实时更新一些信息(使用Pusher api).
因此,订阅CHANNEL的USERS可以在服务器将更新推送到此CHANNEL时接收更新.
但是,(由于我的应用程序的性质),应该只有一个USER一次接收实时更新.换句话说,更新实际上的目标不是特定的CHANNEL,而是特定的USER.
我目前的解决方案是:每个CHANNEL只允许一个USER,因此针对CHANNEL的更新是针对该一个USER的.假设我有500个用户,那么我需要有500个频道.这需要设置很多频道.这会影响性能吗?
有没有更好的方法?
===============
该应用程序用于接收有关灾难的报告,并指定最近的机构接管并处理该情况.每个代理商都是系统的用户(将获得用户名).当服务器收到报告时,最近的 - 仅一个用户(从提交报告的位置)将从服务器接收实时通知.
我有一个使用jquery mobile和phonegap的移动网络应用程序,其他是php网站.我希望只发送通知给在线和移动应用程序的特定用户,在php网站上接收用户在线的通知以及移动网络应用程序所以我的问题是如何为特定用户设置频道,因为现在通知发送给所有用户,这些用户对消息和连接没用.
目前,我的代码向所有人发送通知可以解决这个问题,我的代码需要进行更改.
在事件触发器上我有那个代码php网站.
$message = "User Response Has been Sent For Taxi On way";
$pusher = new Pusher( APP_KEY, APP_SECRET, APP_ID );
$data = array('message' => $message);
$pusher->trigger( 'dispatcher_channel', 'dispatcher_Response', $data );
Run Code Online (Sandbox Code Playgroud)
在移动网络应用程序上,我有该代码.
Pusher.log = function(message) {
if (window.console && window.console.log) {
window.console.log(message);
}
};
var pusher = new Pusher('APP_KEY');
var channel = pusher.subscribe('dispatcher_channel');
channel.bind('dispatcher_Response', function(data) {
alert(data.message);
channel.bind('dispatcher_Response', function(data) {});
});
Run Code Online (Sandbox Code Playgroud)