PHP基于websocket实现前台及后台实时推送

最近的项目可能会用到实时推送功能,所以就提前调研一下,感谢PHP中文网的分享,文章很实用,简洁明了,下面给小伙伴们分享一下,亲测可用。

实现步骤如下:

1. 获取GoEasy appkey.

在goeasy官网(http://www.goeasy.io/)上注册一个账号,并新建一个app. APP创建好后系统会为该app自动生成两个key, 一个既可以用来接收又可以用来推送 (supper key),另一个只可以用来接收(subscriber key).

我创建的是免费的,每月有条数限制;两个key,点击VIew就可以看见了。

PHP基于websocket实现前台及后台实时推送

2. 客户端订阅一个channel.

a. 在客户端引入goeasy.js

js地址:http://cdn.goeasy.io/goeasy.js

需要注意的是,不能将goeasy.js下载到本地,因为goeasy会根据不同浏览器来提供不同的js. 官网上也有相应说明。

b. 订阅代码

var goEasy = new GoEasy({appkey: 'subscriber key'});

//这里我用的是subscriber key,因为在我的客户端我不需要推送任何消息,所以没有必要使用supper key

goEasy.subscribe({

channel: 'lucktribe',

onMessage: function(message){

alert('Meessagereceived:'+message.content);

//接收到推送的消息

}

});

3. 前台推送及后台推送

3.1. 前台往相同channel上推送
在引入了goeasy.js的页面,直接调用goEasy. publish('lucktribe', '您的好友222已上线'); 用法与订阅类似。

3.2. 后台往相同channel上推送. 用GoEasy提供的restful API实现

API url: goeasy.io/goeasy/publish

方式: Post

参数列表:

channel: 'lucktribe' //与订阅的channel必须一致,否则客户端将收不到消息。因此我们也可以根据channel来控制哪些客户端可以接收。

appkey: 'supper key' //这里必须使用supper key

content: 'Test Message.' //要推送的内容

 

$.ajax({

type: "post",

dataType: "json",

url: "http://goeasy.io/goeasy/publish",

data: {channel:'lucktribe',appkey:'supper key',content: 'testsuccess!'},

success: function(result) { }

});

 

上就是PHP基于websocket实现前台及后台实时推送的详细内容,希望对大家有帮助。
  • weinxin
  • weinxin
  • IT小天博客
  • 小天既不是大神,也不是技术大咖,喜欢折腾,喜欢代码的世界,喜欢分享自己的生活乐趣和学习经验,关注互联网发展,关注网站建设。
  • GitHub 微博 微信 球球Q 邮箱

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:1   其中:访客  1   博主  0

    • avatar Flyer 0

      折腾过,但没成功