文档章节

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

w
 wallance2
发布于 2017/02/14 17:45
字数 357
阅读 53
收藏 0

Golang websocket实时消息推送

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

实现步骤如下:

1.获取GoEasy appkey.

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

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: 'csdnNotification',

             onMessage: function(message){

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

                       }

                });

3.后台往相同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
07/19
0
0
从构建分布式秒杀系统聊聊WebSocket推送通知 编辑 删除

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

小柒2012
07/18
0
0
从HTML5 WebSocket到Socket.io

HTML5 WebSocket 作为新一代的web标准,HTML5为我们提供了很多有用的东西,比如canvas,本地存储(已经分离出去了),多媒体编程接口,当然还有我们的WebSocket。WebSocket是HTML5开始提供的...

Srtian
05/11
0
0
漫扯:从polling到Websocket

Http被设计成了一个单向的通信的协议,即客户端发起一个request,然后服务器回应一个response。这让服务器很为恼火:我特么才是老大,我居然不能给小弟发消息。。。 轮询   老大发火了,小...

i33
2014/08/01
0
0
WebSocket 是什么原理?为什么可以实现持久连接?

作者:腾讯云技术社区 众所周知,Web应用的通信过程通常是客户端通过浏览器发出一个请求,服务器端接收请求后进行处理并返回结果给客户端,客户端浏览器将信息呈现。这种机制对于信息变化不是...

xiaogong1688
06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

pyhanlp 停用词与用户自定义词典功能详解

hanlp的词典模式 之前我们看了hanlp的词性标注,现在我们就要使用自定义词典与停用词功能了,首先关于HanLP的词性标注方式具体请看HanLP词性标注集。 其核心词典形式如下: 自定义词典 自定义...

左手的倒影
5分钟前
0
0
颜色模型和颜色应用---CMY和CMYK颜色模型

CMY参数 CMY颜色空间和RGB颜色空间之间的转换

中国龙-扬科
13分钟前
0
0
Golang通道的无阻塞读写的方法示例

无论是无缓冲通道,还是有缓冲通道,都存在阻塞的情况,但其实有些情况,我们并不想读数据或者写数据阻塞在那里,有1个唯一的解决办法,那就是使用select结构。 这篇文章会介绍,哪些情况会存...

kaixin_code
14分钟前
0
0
Web登录中的信心安全问题

1. 一个简单的HTML例子看看用户信息安全 标准的HTML语法中,支持在form表单中使用<input></input>标签来创建一个HTTP提交的属性,现代的WEB登录中,常见的是下面这样的表单: <form action ...

开元中国2015
19分钟前
0
0
Hbulider打包iOS遇到的一些坑

video 全屏播放问题 在 manifest.json 的代码视图中,plus 值需加入 "allowsInlineMediaPlayback": true,如下,允许ios不进行全屏播放 "plus": { "allowsInlineMediaPlayback": true} ...

林梓阳
19分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部