本篇文章給大家分享的是有關(guān)微信小程序中怎么使用GoEasy實(shí)現(xiàn)實(shí)時(shí)通訊,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
郯城網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)公司于2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。GoEasy官網(wǎng)(
https://www.goeasy.io/)上注冊(cè)賬號(hào),創(chuàng)建一個(gè)應(yīng)用,拿到您的appkey。
GoEasy提供了兩種類型的appkey:
Common key: 即可以接收消息,也可以發(fā)送消息,與Subscribe Key大的區(qū)別就是有寫權(quán)限,可以發(fā)消息。適用于有消息發(fā)送需求的客戶端和服務(wù)端開(kāi)發(fā)。
Subscribe key: 只能接收消息,不可以發(fā)送消息,與Common Key大的區(qū)別就是沒(méi)有寫權(quán)限,只能收消息。可以用于一些沒(méi)有發(fā)送需求的客戶端。
下載 https://cdn.goeasy.io/download/goeasy-1.0.11.js
import GoEasy from './goeasy-1.0.11';
var self = this; this.goeasy = GoEasy({ host: 'hangzhou.goeasy.io', appkey: "您的appkey", onConnected: function () { console.log("GoEasy connect successfully."); self.unshiftMessage("連接成功."); }, onDisconnected: function () { console.log("GoEasy disconnected.") self.unshiftMessage("連接已斷開(kāi)."); }, onConnectFailed: function (error) { console.log(error); self.unshiftMessage("連接失敗,請(qǐng)檢查您的appkey和host配置"); } })
根據(jù)您在GoEasy后臺(tái)創(chuàng)建應(yīng)用時(shí)選擇的區(qū)域,來(lái)傳入不同的Host,如果您創(chuàng)建GoEasy應(yīng)用時(shí),選擇了杭州,那么host:”hangzhou.goeasy.io”。選擇了新加坡,host:”singapore.goeasy.io”。
如果您的大部分用戶都是在國(guó)內(nèi),創(chuàng)建應(yīng)用時(shí),記得選擇杭州,以便獲得更快的通訊速度。
var self = this; this.goeasy.subscribe({ channel: "my_channel", onMessage: function (message) { self.unshiftMessage(message.content); }, onSuccess: function () { self.unshiftMessage('訂閱成功.'); } });
很多朋友會(huì)問(wèn)channel從哪里來(lái),如何創(chuàng)建,應(yīng)該傳入什么呢?
根據(jù)您的業(yè)務(wù)需求來(lái)設(shè)定,channel可以為任意字符串,除了不能包含空格,和不建議使用中文外,沒(méi)有任何限制,只需要和消息的發(fā)送端保持一致,就可以收到消息。channel可以是您直播間的uuid,也可以是一個(gè)用戶的唯一表示符,可以任意定義,channel不需要?jiǎng)?chuàng)建,可以隨用隨棄。
發(fā)送時(shí),需要注意channel一定要和subscribe的channel完全一致,否則無(wú)法收到。
this.goeasy.publish({ channel: "my_channel", message: self.data.message, onSuccess: function () { self.setData({ message: '' }); //清空發(fā)送消息內(nèi)容 console.log("send message success"); }, onFailed: function (error) { self.unshiftMessage('發(fā)送失敗,請(qǐng)檢查您的appkey和host配置.'); } });
本代碼源碼下載: https://gitee.com/goeasy-io/GoEasyDemo-wxapp-Helloworld
特別強(qiáng)調(diào):
在運(yùn)行之前,一定要在微信公眾號(hào)平臺(tái)配置socket合法域名,否則無(wú)法建立連接。具體步驟:
訪問(wèn)
https://mp.weixin.qq.com,進(jìn)入微信公眾平臺(tái)|小程序 -> 設(shè)置 -> 開(kāi)發(fā)設(shè)置 -> 服務(wù)器域名
socket合法域名-> 添加GoEasy的地址: wx-hangzhou.goeasy.io(記得wx-開(kāi)頭)
若您創(chuàng)建GoEasy應(yīng)用時(shí)選擇了新加坡區(qū)域則添加地址:wx-singapore.goeasy.io
當(dāng)然可以,任何語(yǔ)言都可以通過(guò)調(diào)用GoEasy的Rest API發(fā)送消息,同時(shí)為了大家方便,GoEasy的官方文檔里,也準(zhǔn)備了Java, C#,NodeJS,PHP,Ruby和Python等常見(jiàn)語(yǔ)言調(diào)用REST API的代碼,這里獲取更多詳情: https://www.goeasy.io/cn/doc/server/publish.html
當(dāng)然可以,您可以通過(guò)推送文件路徑的方式來(lái)實(shí)現(xiàn)文件的發(fā)送。
按照行業(yè)慣例,不論MSN,微信,QQ對(duì)于圖片和視頻,通常的做法都是,只推送文件路徑,而不會(huì)推送文件本身。你如果有注意的話,當(dāng)您接受圖片和視頻的時(shí)候,收到消息后,等一會(huì)兒才能看,就是因?yàn)榘l(fā)送的時(shí)候,只發(fā)送了路徑。
小程序官方的websocket API主要是用來(lái)與您的websocket服務(wù)通訊,所以使用小程序websocket的前提是,首先要搭建好您自己的websocket服務(wù),然后與之通訊。這是一個(gè)純技術(shù)的API,在建立網(wǎng)絡(luò)連接后,還有很多的工作需要自己來(lái)完成,比如:
需要自己實(shí)現(xiàn)心跳機(jī)制,來(lái)維護(hù)網(wǎng)絡(luò)連接,來(lái)判斷客戶端的網(wǎng)絡(luò)連接狀態(tài);
需要自己實(shí)現(xiàn)斷網(wǎng)自動(dòng)重連;
需要自己維護(hù)消息列表,確保遇到斷網(wǎng)重連后,消息能夠補(bǔ)發(fā);
需要自己維護(hù)一個(gè)客戶端列表;
等等很多細(xì)致而繁雜的工作,比如websocket的安全機(jī)制和性能優(yōu)化;
此之外服務(wù)端也有很多工作需要自己完成,有興趣自己搭建websocket的話,可以參考這篇技術(shù)分享《 搭建websocket消息推送服務(wù),必須要考慮的幾個(gè)問(wèn)題》
而GoEasy是一個(gè)成熟穩(wěn)定的企業(yè)級(jí)websocket PAAS服務(wù)平臺(tái),開(kāi)發(fā)人員不需要考慮websocket服務(wù)端的搭建,只需要幾行代碼,就可以輕松實(shí)現(xiàn)客戶端與客戶端之間,服務(wù)器與客戶端之間的的websocket通信,不需要考慮性能,安全,高可用集群的問(wèn)題,只需要全力專注于開(kāi)發(fā)自己的業(yè)務(wù)功能就好了。
GoEasy已經(jīng)內(nèi)置websocket中必備的心跳,斷網(wǎng)重連,消息補(bǔ)發(fā),歷史消息和客戶端上下線提醒等特性,開(kāi)發(fā)人員也不需要自己搭建websocket服務(wù)處理集群高可用,安全和性能問(wèn)題。GoEasy已經(jīng)穩(wěn)定運(yùn)行了5年,支持千萬(wàn)級(jí)并發(fā),成功支撐過(guò)很多知名企業(yè)的重要活動(dòng),安全性和可靠性都是久經(jīng)考驗(yàn)。
從應(yīng)用場(chǎng)景上來(lái)說(shuō),所有需要websocket通信的場(chǎng)景,GoEasy都可以完美支持:
聊天,IM,直播彈幕,用戶上下線提醒, 在線用戶列表
掃碼點(diǎn)菜,掃碼登錄, 掃碼支付, 掃碼簽到, 掃碼打印
事件提醒,工單,訂單實(shí)時(shí)提醒
在線拍賣, 在線點(diǎn)餐,在線選座 實(shí)時(shí)數(shù)據(jù)展示,實(shí)時(shí)監(jiān)控大屏, 金融實(shí)時(shí)行情顯示,設(shè)備監(jiān)控系統(tǒng)
實(shí)時(shí)位置跟蹤,外賣實(shí)時(shí)跟蹤,物流實(shí)時(shí)跟蹤
遠(yuǎn)程畫板,遠(yuǎn)程醫(yī)療,游戲,遠(yuǎn)程在線授課
以上就是微信小程序中怎么使用GoEasy實(shí)現(xiàn)實(shí)時(shí)通訊,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道。