文档章节

PHP基于websocket实时通信的实现—GoEasy

w
 wallance2
发布于 2017/02/14 17:36
字数 354
阅读 32
收藏 0

PHP websocket实时消息推送

在这里我记录一下之前如何实现服务器端与客户端实时通信:

实现步骤如下:

  1. 获取GoEasy appkey.

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

  1. 客户端订阅一个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: 'csdnNotification',

             onMessage: function(message){

                          alert('Meessage received:'+message.content);//接收到推送的消息

                       }

                });
  1. 后台往相同channel上推送. 用GoEasy提供的restful API实现

API url: http://goeasy.io/goeasy/publish

方式: Post

参数列表:

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

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

content: 'blabla…..' //要推送的内容

希望对大家有帮助。

© 著作权归作者所有

共有 人打赏支持
w
粉丝 0
博文 9
码字总数 2935
作品 0
成都
私信 提问
从构建分布式秒杀系统聊聊WebSocket推送通知

前言 秒杀架构到后期,我们采用了消息队列的形式实现抢购逻辑,那么之前抛出过这样一个问题:消息队列异步处理完每个用户请求后,如何通知给相应用户秒杀成功? 场景映射 首先,我们举一个生...

小柒2012
2018/07/19
0
0
从构建分布式秒杀系统聊聊WebSocket推送通知 编辑 删除

前言 秒杀架构到后期,我们采用了消息队列的形式实现抢购逻辑,那么之前抛出过这样一个问题:消息队列异步处理完每个用户请求后,如何通知给相应用户秒杀成功? 场景映射 首先,我们举一个生...

小柒2012
2018/07/18
0
0
常见的Web实时消息交互方式和SignalR

原文:常见的Web实时消息交互方式和SignalR 标签: WebSocket SignalR 前言 1. Web消息交互技术 1.1 常见技术 1.2 WebSocket介绍 1.3 WebSocket示例 2. Signal 2.1 SignalR是什么 2.2 默认传输...

杰克.陈
2018/06/08
0
0
漫谈 polling 和 Websocket

原文出处: whthomas的博客(@whthomas93) Http被设计成了一个单向的通信的协议,即客户端发起一个request,然后服务器回应一个response。这让服务器很为恼火:我特么才是老大,我居然不能给...

oschina
2014/06/28
4.6K
29
实时通信技术之websocket

本文章即从4个方面带大家了解websocket: websocket是什么? 为什么需要 WebSocket ? websocket的优点与缺点? websocket的相关使用(客户端与服务器端)? websocket的相关协议与规范? 一...

一看就喷亏的小猿
2018/11/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

数据库篇一

数据库篇 第1章 数据库介绍 1.1 数据库概述  什么是数据库(DB:DataBase) 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据...

stars永恒
12分钟前
0
0
Intellij IDEA中设置了jsp页面,但是在访问页面时却提示404

在Intellij IDEA中设置了spring boot的jsp页面,但是在访问时,却出现404,Not Found,经过查找资料后解决,步骤如下: 在Run/Debug Configurations面板中设置该程序的Working Directory选项...

uknow8692
昨天
2
0
day24:文档第五行增内容|每月1号压缩/etc/目录|过滤文本重复次数多的10个单词|人员分组|

1、在文本文档1.txt里第五行下面增加如下内容;两个方法; # This is a test file.# Test insert line into this file. 分析:给文档后增加内容,可以用sed 来搞定;也可以用while do done...

芬野de博客
昨天
2
0
深入理解JVM—JVM内存模型

深入理解JVM—JVM内存模型 我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存...

onedotdot
昨天
2
0
MVC、MVCS、MVVM、MVP、VIPER等这么多架构模式哪一个好呢?

在项目开启阶段,其中一个很重要的环节就是选架构。 那么面对目前已知的这么多架构模式我们该怎么选择呢?这确实是个很让人头疼的问题! 下面我就在这里梳理一下目前常见的一些架构模式。 先...

Java干货分享
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部