用GoEasy实现websocket

版权声明:feixie https://blog.csdn.net/qq_36850813/article/details/83932305

  1 进入 官网www.goeasy.io,先注册,再登录,创建application,application添加完成后,GoEasy会自动帮我生成两个key,一个是Common key( 既可以发送消息或也可以订阅channel来接收消息 ), 另一个是Subscribe key( 只能用来订阅channel来接收消息 ) 。 这两个key相当于使用GoEasy服务的密码。

这里选择地区有3个选项可以选择,华东(杭州)、美国东部(弗吉尼亚)、新加坡,根据产品使用用户所在地来选择效果最佳
这里下载依赖包:下载可以直接下载

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.xf</groupId>
    <artifactId>project</artifactId>
    <version>1.0-SNAPSHOT</version>

    <repositories>
        <repository>
            <id>goeasy</id>
            <name>goeasy</name>
            <url>http://maven.goeasy.io/content/repositories/releases/</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>io.goeasy</groupId>
            <artifactId>goeasy-sdk</artifactId>
            <version>0.3.8</version>
        </dependency>
    </dependencies>
</project>

java代码

package com.xf.project;

import io.goeasy.GoEasy;
import io.goeasy.publish.GoEasyError;
import io.goeasy.publish.PublishListener;

public class WebSocket
{
    public static void main(String[] args)
    {
        GoEasy goEasy=new GoEasy("rest-hangzhou.goeasy.io","your Common key");
        goEasy.publish("demo","hello",new PublishListener(){
            @Override
            public void onSuccess()
            {
                System.out.println("Publish Success");
            }

            @Override
            public void onFailed(GoEasyError error)
            {
                System.out.println("Publish Failed"+error.getCode()+error.getContent());
            }
        });
    }
}

注意:这里只能用你的Common key, “your_channel”–你可以随意命名(最好是有意义的名字),channel非常重要,它决定到底哪些页面需要接收你发的消息。一定要和接受信息的channel相同。 

用html写一个接收端:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" src="https://cdn-hangzhou.goeasy.io/goeasy.js"></script>
    <script type="text/javascript">
        var goeasy = new GoEasy({
            appkey: 'your Common key'
        });

        goeasy.subscribe({
            channel: 'demo',
            onMessage: function (message) {
                //收到消息的第一行,打出日志,以这个时间作为检查的标准
                alert('收到:' + message.content);
            }
        });


        function publishMessage() {
            var publishMessage = document.getElementById("content").value;
            goeasy.publish({
                channel: 'demo',
                message: publishMessage,
                onFailed: function (error) {
                    alert(error.code + " : " + error.content);
                },
                onSuccess: function () {
                    document.getElementById("content").value = '';

                }
            });

        }


    </script>
</head>
<body>
<textarea rows="3" cols="20" id="content">

</textarea>
<button id="fasong" onclick="publishMessage()">Send</button>

</body>
</html>

按照官方文档说明不要将js下载到本地因为其对因不同的浏览器能动态生成对应的js,于是在jsp中动态引入goeasy.js,这里用html来接受和发送推送,后台也可以发送

猜你喜欢

转载自blog.csdn.net/qq_36850813/article/details/83932305
今日推荐