美文网首页
react websocket实现消息推送

react websocket实现消息推送

作者: jonychen1 | 来源:发表于2020-02-28 14:00 被阅读0次

最近在做项目的过程中,需要用到websocket来实现消息推送的功能,百度了一下,找到一个免费的websocket第三方框架【GoEasy】,地址:https://www.goeasy.io/

试用过后,总的来说效果不错,根据网站提供的教程,上手还是很快的。

根据GoEasy网站的介绍,目前提供完整的websocket前后端解决方案,简单的几行代码集成,即可快速搭建您的专属websocket服务。

同时GoEasy还支持更多的前端技术框架比如小程序、react、vue、uniapp等。同时还是支持php、java、python等服务端语言。

接下来我们看看在react中如何使用GoEasy实现websocket消息推送:

1、 引入 GoEasy:

目前GoEasy提供三种方式的引入,你可以根据实际项目的需求进行选择引入方式。

<script type=”text/javascript” src=”https://cdn.goeasy.io/goeasy-1.0.3.js”></script>

npm install –save goeasyimport GoEasy from ‘goeasy’;

下载 https://cdn.goeasy.io/goeasy-1.0.3.js

import GoEasy from ‘./goeasy-1.0.3’;

2、初始化GoEasy:

创建一个global.js全局变量存储文件,放在项目的根目录。

// global.jsexport default {goEasy: null}

import g from './global.js'//在index.js里初始化全局GoEasy对象

g.goEasy = new GoEasy({   

host:'hangzhou.goeasy.io', //应用所在的区域地址: 【hangzhou.goeasy.io |singapore.goeasy.io】   

appkey: "my_appkey", //替换为您的应用appkey   

onConnected: function() {        console.log('连接成功!')    }, 

 onDisconnected: function() {        console.log('连接断开!')    }, 

 onConnectFailed: function(error) {        console.log('连接失败或错误!')    }});

到此,我们已在react中完成了GoEasy服务的引入,接下来我们要进行在react中的收发消息测试。

3、react端接收消息:

import g from './global.js'

g.goEasy.subscribe({    channel: "my_channel", //替换为您自己的channel    onMessage: function (message) {        console.log("Channel:" + message.channel + " content:" + message.content);    }});

4、react端发送消息:

import g from './global.js'g.goEasy.publish({    channel: "my_channel", //替换为您自己的channel    message: "Hello, GoEasy!" //替换为您想要发送的消息内容});

5、服务端推送消息:

在 实际开发过程中,我们更多的会是从服务器端往react端发送消息。针对这样的使用场景,GoEasy提供了丰富的服务端Rest API接口,免去了自行搭建websocket服务器的麻烦。通过GoEasy提供的Rest API接口,你可以方便快捷的推送消息到react端。

相关文章

网友评论

      本文标题:react websocket实现消息推送

      本文链接:https://www.haomeiwen.com/subject/aqjfzctx.html