探索、思考、创造、分享

数据驱动、坚持为客户提供有价值的服务和内容

当前位置: 首页 > 小程序资讯_南京小程序开发_南京微信小程序开发制作_南京app开发-安优云 > 小程序制作
微信小程序使用goeasy实现websocket实时通讯
来源:南京小程序开发   发布时间:2021-11-02 16:50:39点击:
无需下载安装,可在微信好友、微信群之间快速转发。用户只需扫码或点击微信即可立即运行。拥有类似app的用户体验,让微信app成为全民喜爱的好东西~

同时,由于微信小程序使用JavaScript语法,前端开发者几乎没有学习成本和技术门槛。对于大多数场景,可以用小程序进行快速开发和实现,无论是开发周期还是开发成本都低,让人哭笑不得,所以受到技术开发团队的追捧~

但是,如果要在小程序中快速实现即时通讯功能,那就有点尴尬了,因为微信官方提供的只是一个底层的websocket API。直接在项目中使用,需要做很多额外的工作,比如先搭建自己的websocket服务~

有没有简单的方法?当然有!

今天小编就教大家在微信小程序中使用goeasy在最短的时间内快速实现一个websocket即时通讯demo。

这个demo已经完成了小程序在真机下的测试。完整源码开源到oschina码云。克隆后只需将代码中的appkey改成自己的公用密钥即可体验。源码网址:gitee.com/goeasy-io/GoEasyDemo-wxa...

1.获取appkey
Goeasy 网站(www.goeasy.io/)注册您的帐户,创建一个应用程序并获取您的应用程序密钥。

Goeasy 提供了两种类型的 appkey:

通用键:可以接收或发送消息。两者最大的区别是你有发送消息的写权限。适用于有消息发送需求的客户端和服务端的开发。

订阅键:只能接收消息,不能发送消息。subscribe key和common key最大的区别是没有写权限,只能接收消息。它可以用于没有发送要求的客户端。

2.获取goeasy SDK
下载cdn.goeasy.io/download/goeasy-1.0....

import GoEasy from './goeasy-1.0.11';
3.初始化goeasy对象
var self = this;
this.goeasy = GoEasy({
    host: 'hangzhou.goeasy.io',
    Appkey: "your appkey,",
    onConnected: function () {
        console.log("GoEasy connect successfully.");
        self.unshiftMessage ("connection successful.");
    },
    onDisconnected: function () {
        console.log("GoEasy disconnected.")
        self.unshiftMessage ("connection disconnected.");
    },
    onConnectFailed: function (error) {
        console.log(error);
        self.unshiftMessage ("connection failed, please check your appkey and host configuration");
    }
})
在goeasy后台创建应用时,根据你选择的区域传入不同的hosts。如果创建goeasy应用时选择杭州,则主机:hangzhou.goeasy.io”。选择新加坡,主机:singapore.goeasy.io”。

如果您的大部分用户都在中国,请记住在创建应用程序时选择杭州以获得更快的通信速度。

4.通过小程序接收消息
var self = this;
this.goeasy.subscribe({
    channel: "my_channel",
    onMessage: function (message) {
        self.unshiftMessage(message.content);
    },
    onSuccess: function () {
        self.unshiftMessage ('subscription succeeded. ');
    }
});
很多朋友会问频道从哪里来,怎么创建,应该介绍什么?

根据您的业务需求,channel可以是任意字符串,但不能包含空格,不推荐使用中文。没有任何限制。您只需要与消息的发送者保持一致即可接收消息。频道可以是你直播间的UUID,也可以是用户的唯一标识。它可以任意定义。通道不需要创建,使用时可以丢弃。

5、小程序端发送的消息:
发送的时候需要注意channel必须和subscribe的channel完全一样,否则是收不到的。

this.goeasy.publish({
    channel: "my_channel",
    message: self.data.message,
    onSuccess: function () {
        self.setData({
            message: ''
        }); // clear the content of the sent message
        console.log("send message success");
    },
    onFailed: function (error) {
        self.unshiftMessage ('Send failed, please check your appkey and host configuration. ');
    }
});
源码下载:gitee.com/goeasy-io/GoEasyDemo-wxa...

特别强调:

运行前需要在微信公众号平台配置socket合法域名,否则无法建立连接。具体步骤:
访问mp.weixin.qq.com,进入微信公众平台| 小程序>设置>开发设置>服务器域名
socket合法域名->添加goeasy的地址:wx-hangzhou.goeasy.io(记住wx开头)
如果创建goeasy应用时选择新加坡地区,添加地址: Wx- singapore.goeasy.io

回答时间:
1. 我的服务器可以向小程序发送消息吗?支持哪些语言?
当然,任何语言都可以通过调用goeasy的rest API来发送消息。同时为了方便大家,goeasy官方文档中还包含了Java、C#、nodejs、PHP、ruby、Python等常用语言调用rest API的代码www.goeasy.io/cn/doc/server /公开…

2.goeasy可以发图片、语音、视频吗?
当然,你可以通过推送文件路径来发送文件。
按照行业惯例,无论是MSN、微信、QQ,对于图片和视频,通常的做法是只推送文件路径,而不推送文件本身。大家有什么注意的,在接受图片和视频的时候,收到消息后可以稍等片刻,因为只发送了路径。

3、goeasy和微信小程序官方websocket API有什么区别和优势?
小程序官方的websocket API主要是用来和你的websocket服务通信,所以使用小程序websocket的前提是先搭建自己的websocket服务,然后再与之通信。这是一个纯技术 API。建立网络连接后,还有很多任务需要自己来完成,比如:

我们需要实现心跳机制来维护网络连接,判断客户端的网络连接状态;
需要实现断线后自动重连;
您需要维护自己的消息列表,保证断网重连后消息可以重新发出;
您需要自己维护一份客户名单;
等等很多细节复杂的工作,比如websocket安全机制和性能优化;
此外,服务器还有很多工作要做。如果你有兴趣搭建自己的websocket,可以参考这篇技术分享《搭建websocket消息推送服务必须考虑的几个问题》

Goeasy是成熟稳定的企业级websocket PAAS服务平台。开发者无需考虑websocket服务器的搭建。他们只需要几行代码就可以轻松实现客户端之间和服务器之间的websocket通信。他们不需要考虑集群的性能、安全和高可用问题,只需要专注于开发自己的业务功能。

Goeasy内置了websocket的必备功能,如心跳、断线重连、消息重发、历史消息、客户端上下线提醒等。开发者无需构建websocket服务来处理集群的高可用、安全和性能问题。Goeasy已稳定运行五年,支持数千万并发应用,并成功支持了众多知名企业的重要活动。其安全性和可靠性已经过长时间的考验。

4、goeasy主要用于哪些场景的小程序开发?
在应用场景方面,goeasy可以完美支持所有需要websocket通信的场景

聊天、即时通讯、直播弹幕、用户上下线提醒、在线用户列表
扫码下单,扫码登录,扫码支付,扫码签到,扫码打印
事件提醒、工单、订单实时提醒
在线拍卖、在线下单、在线选座、实时数据展示、实时监控画面、实时金融行情展示、设备监控系统
实时位置跟踪,外带实时跟踪,物流实时跟踪
远程画板、远程医疗、游戏、远程在线教学
5.为什么goeasy的文档这么简单?简单到不知道怎么用
简单不是很好吗?从研发的第一天起,goeasy就专注于对API极简主义的追求。严格控制接口数量是为了降低开发者的学习成本。其实是为了让你开心!但这并不影响goeasy对所有websocket即时通讯需求的完美支持。
  • 上一篇:微信小程序表单提交复选框无法取值
  • 下一篇:微信小程序开发最佳实践
  • 版权备注
    最新资讯
    2021-11-02
    微信小程序开发最佳实践
    最开始小程序的开发和应用,现在小程序的开发越来越成熟,完善了很多API、组件、架构等,社区也从原来的零星到现在是不大不...
    2021-11-02
    微信小程序使用goeasy实现websocket实时通讯
    无需下载安装,可在微信好友、微信群之间快速转发。用户只需扫码或点击微信即可立即运行。拥有类似app的用户体验,让微信a...
    2021-11-02
    微信小程序表单提交复选框无法取值
    开始学小程序,这个ChecBox值弄了一个下午,百度没有靠谱的回答论坛问大神 微信小程序表单提交复选框取不了值 <label cla...
    2021-10-22
    微信公众号和视频号如何流量融合?
    最近微信公众号和视频号同时咨询的比较多。今天给大家分享下,微信公众号和微信视频号如何进行流量互通融合。 1,视频号...
    2021-10-22
    微信公众号和视频号如何流量融合?
    最近微信公众号和视频号同时咨询的比较多。今天给大家分享下,微信公众号和微信视频号如何进行流量互通融合。 1,视频号...
    随机资讯
    2020-02-03
    南京小程序开发解析开发小程序商城的优势
    中小型新项目运营大城市问世后,很多公司已经运用中小型新项目运营大城市找寻大量的客户资料,因此中小型新项目运营大城市...
    2020-01-20
    南京小程序开发是怎么做商城小程序培养用户的几个技巧
    伴随着挪动互联网发展,很多企业期望根据开发设计自身的中小型企业程序流程,使自身的商品在中小型程序流程市场销售中,较大...
    2020-01-20
    南京小程序开发定做个小程序要多少钱
    处在it行业的人们想来对小程序的受欢迎之势早已有一定的掌握了。人们时时刻刻都能体会到它的受欢迎,跳一跳霸屏的那时候...
    2020-02-03
    南京小程序开发呼吁大家不要忽略小程序的新功能
    微信小程序不断创新和发展趋势,每一次升级,微信小程序常常让我们产生不一样的幸福。南京小程序开发呼吁人们应当更为关心...
    2020-02-13
    基于腾讯云对象存储的微信小程序图像上传功能南京小程序为您分享
    在使用腾讯云对象存储之前,该公司一直在使用传统的FTP上传模式。随着用户数量的增加,FTP暴露了越来越多的问题。1.传输效...