Python基于websocket实时通信的实现—GoEasy
Python 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…..' //要推送的内容
希望对大家有帮助。
Python基于websocket实时通信的实现—GoEasy的更多相关文章
- PHP基于websocket实时通信的实现—GoEasy
PHP websocket实时消息推送 在这里我记录一下之前如何实现服务器端与客户端实时通信: 实现步骤如下: 1. 获取GoEasy appkey. 在goeasy官网上注册一个账号, ...
- C(++)基于websocket实时通信的实现—GoEasy
c(++) websocket实时消息推送 在这里我记录一下之前如何实现服务器端与客户端实时通信: 实现步骤如下: 1. 获取GoEasy appkey. 在goeasy官网上注册一个账 ...
- python测试基于websocket协议的即时通讯接口
随着html5的广泛应用,基于websocket协议的即时通讯有了越来越多的使用场景,本文使用python中的websocket-client模块来做相关的接口测试 import webclient ...
- 为美多商城(Django2.0.4)添加基于websocket的实时通信,主动推送,聊天室及客服系统
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_67 websocket是个啥? webSocket是一种在单个TCP连接上进行全双工通信的协议 webSocket使得客户端和服务 ...
- 基于WebSocket和SpringBoot的群聊天室
引入 普通请求-响应方式:例如Servlet中HttpServletRequest和HttpServletResponse相互配合先接受请求.解析数据,再发出响应,处理完成后连接便断开了,没有数据的实 ...
- 基于 WebSocket 实现 WebGL 3D 拓扑图实时数据通讯同步(二)
我们上一篇<基于 WebSocket 实现 WebGL 3D 拓扑图实时数据通讯同步(一)>主要讲解了如何搭建一个实时数据通讯服务器,客户端与服务端是如何通讯的,相信通过上一篇的讲解,再配 ...
- 高效简易开发基于websocket 的通讯应用
websocket的主要是为了解决在web上应用长连接进行灵活的通讯应用而产生,但websocket本身只是一个基础协议,对于消息上还不算灵活,毕竟websocket只提供文本和二进制流这种基础数据格 ...
- python基于LeanCloud的短信验证
python基于LeanCloud的短信验证 1. 获取LeanCloud的Id.Key 2. 安装Flask框架和Requests库 pip install flask pip install re ...
- Socket.IO – 基于 WebSocket 构建跨浏览器的实时应用
Socket.IO 是一个功能非常强大的框架,能够帮助你构建基于 WebSocket 的跨浏览器的实时应用.支持主流浏览器,多种平台,多种传输模式,还可以集合 Exppress 框架构建各种功能复杂 ...
随机推荐
- Stack与Queue
一.Stack的方法 1. public void push(int node) 把项 压入栈顶.其作用与 addElement (node) 相同. 不一定是int,可以是节点 stack.p ...
- LR手动关联新手总结
最近学习LoadRunner的时候深刻体会:新手入门真心不容易啊 今天一直在纠结LoadRunner的手动关联问题,之前刚开始看书的时候就看到了,不过当时想先放放,后面来细细研究, 今天看的时候在网上 ...
- 关于rem的学习
网页常见单位px.em.rem:其中rem是css3新出的单位,官网是这样定义的:“font size of the root element”,意思是:相对长度单位,相对于根元素(即html元素)f ...
- 论C#未来发展
近日M#的消息令江湖再次起了波澜.大家知道,.NET已经进入了瓶颈期.这个消息又让偶有所期待,趁此机会发表一下个人的展望,对C#或者其继任者,不管是M#还是X#. 一.语法特性 1. using引入类 ...
- spark发行版笔记13
本期概览: ReceiverTracker架构设计 消息循环系统 ReceiverTracker具体的实现 Spark Streaming作为Spark Core基础 架构之上的一个应用程序,其中的R ...
- Mongodb插入记录
Mongodb下文档的数据结构和JSON基本一样. 所有存储在集合中的数据都是BSON格式. BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON. 插入文档 MongoDB ...
- Linux中常用操作命令
常用指令 ls 显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(all) mkdir ...
- .NET程序的简单编译原理
1.不管是什么程序,最终的执行官是CPU,而CPU只认识1和0的机器码. 2.我们现在写的一般是高级语言写的程序.CPU是不认识我们用高级语言写的源代码的,那应该怎么办才能让CPU执行我们写好的程序尼 ...
- Making the Grade(POJ3666)
题目大意: 给出长度为n的整数数列,每次可以将一个数加1或者减1,最少要多少次可以将其变成单调增或者单调减(不严格). 题解: 1.一开始我有一个猜想,就是不管怎么改变,最终的所有数都是原来的某个数. ...
- 关于win10系统自带浏览器IE11的JQuery使用问题
<!DOCTYPE html> <html> <head lang="en"> <meta charset="utf-8&quo ...