当前位置:首页 > 技术教程 > 脚本编程 > 正文内容

GoEasy实现从php服务端到web客户端的实时通信和消息推送

atao4年前 (2020-10-05)脚本编程3716

GoEasy的网站标题是让Websocket更简单,但是呢我觉得虽然简单是简单了很多,但是它是收费的!!!而且还不是很便宜的样子,所以能用Websocket还是推荐用Websocket吧,毕竟这是基于原生开发的框架,相对于第三方程序还是要较好一些的。

123

gif动画过大所以依托于第三方平台,速度较慢

1.GoEasy介绍

GoEasy专注于服务器与浏览器,浏览器与浏览器之间消息推送,完美兼容世界上的绝大多数浏览器,包括IE6, IE7之类的非常古老的浏览器。 GoEasy采用 发布/订阅 的消息模式,帮助您非常轻松的实现一对一,一对多的通信。是一款强大易用的websocket消息推送服务,web端,移动端都可以进行推送,这是个收费的产品,当然提供2个月免费试用期,针对不同的并发数量和消息发送条数都有价格明细。它有如下几个优点。

1)完美支持99.9%的浏览器,即使非常古老的IE6,IE7,IE8;

2)任何开发语言PHP 、C# 、Java 、Ruby 、Python 、C(++) 、node.js等

3)它在全球有多个数据中心,保证推送的实时可达性,实时高效;

4)独创的OTP技术+Https提高消息安全隐私;

5)稳定可靠,简单易用。

6)不但支持从服务端到客户端的推送,还支持从客户端到客户端的推送。更多资料可以去官网了解。

2.项目实例

1)首先到官网https://www.goeasy.io注册账号,并申请应用。

2)查看应用详情->获取到APP Keys

3)开始写客户端和服务端,分别用来接收消息和发送消息

4)官方开发文档:https://www.goeasy.io/cn/doc/


客户端接收消息部分(html版)

<!DOCTYPE html>
<html>
<head>
   <meta charset="utf-8">
   <title></title>
   <script type="text/javascript" src="https://cdn.goeasy.io/goeasy-1.0.17.js"></script>
</head>
<body>
<script type="text/javascript">
    var goEasy = new GoEasy({
        host:'hangzhou.goeasy.io',//应用所在的区域地址,杭州:hangzhou.goeasy.io,新加坡:singapore.goeasy.io
        appkey: "项目的APPKeys",//替换为您的应用appkey
        forceTLS:false, //如果需要使用HTTPS/WSS,请设置为true,默认为false
        onConnected: function() {
            console.log('连接成功!')
        },
        onDisconnected: function() {
            console.log('连接断开!')
        },
        onConnectFailed: function(error) {
            console.log('连接失败或错误!')
        }
    });
    goEasy.subscribe({
        channel: "name",//替换为您自己的channel
        onMessage: function (message) {
            console.log("Channel:" + message.channel + " content:" + message.content);
        }
    });
</script>
</body>
</html>

服务端发送消息部分(PHP语言)

<?php
$content = isset($_POST['content'])?$_POST['content']:'默认内容';
$url = 'https://rest-hangzhou.goeasy.io/publish';
$post_data = array("appkey"=>"项目的APPKeys","channel"=>"name","content"=>$content);
echo php_ajax($url,$post_data);
function php_ajax($url, $post_data) {
    $postdata = http_build_query($post_data);
    $options = array(
        'http' => array(
            'method' => 'POST',
            'header' => 'Content-type:application/x-www-form-urlencoded',
            'content' => $postdata,
            'timeout' => 15 * 60
        )
    );
    $context = stream_context_create($options);
    $result = file_get_contents($url, false, $context);
    return $result;
}
?>

返回值

{"code":200,"content":"OK"}

扫描二维码推送至手机访问。

版权声明:本文由武景涛的博客发布,如需转载请注明出处。

本文链接:http://yizhanhongtu.cn/post/19.html

分享给朋友:

相关文章

PhpSpreadsheet的下载介绍和简单使用(导出文件和上传excel数据到数据库)

PhpSpreadsheet的下载介绍和简单使用(导出文件和上传excel数据到数据库)

由于PHPExcel已经不再维护,PhpSpreadsheet是PHPExcel的下一个版本。PhpSpreadsheet是一个用纯PHP编写的库,并引入了命名空间,PSR规范等。这里简单介绍下Php...

ThinkPHP框架下使用七牛云上传图片(文件)与删除

ThinkPHP框架下使用七牛云上传图片(文件)与删除

七牛云好处:云存储,云加速,CDN镜像存储等等,自直观的说,就是把一些静态文件如:css、js、图片等存储到七牛云,然后通过一个分配的或者自己绑定的域名开启CDN加速去访问,这样既减少了自己的服务器压...