一個項目在方向、目標和運營理念已經定義了的時候,咱們會去考慮項目自己的週期和開發成本。固然,全部的公司都會在項目可以達成目標的同時儘可能減小人力成本和時間成本,其中,就會有用到三方的軟件和框架。 javascript
大道至簡 知易行難,做爲一名開發人員站在開發的角度上來說,怎樣去攻克一個技術難題或者須要學習新的語言、技術去應用於新的項目,已經不會是最大的問題,而時間成本以及人力成本會是一個團隊以及公司去考慮的側重點。怎樣去減小這些開發成本最終達到一樣的指望效果,今天我給你們介紹一款產品:GoEasy, 簡單而強大的三方WebSocket。html
機緣巧合中接觸到了GoEasy,在一次緊急項目中爲了節約開發時間成本而找到了GoEasy,在介紹上看着很是簡單,怕的是不夠穩定,因此購買了付費的作了併發測試,效果好的有點意外,很是穩定。java
這是我跟着官網的入門流程走的步驟:瀏覽器
1 登陸 www.goeasy.io安全
2 註冊帳號並登陸服務器
3 登陸進入後臺併發
個人應用→建立應用→選擇地區→獲取APP keysapp
這裏選擇地區有3個選項能夠選擇,華東(杭州)、美國東部(弗吉尼亞)、新加坡,根據產品使用用戶所在地來選擇效果最佳。框架
點開APP keys 查看ide
咱們會得到2個對應的key,一個只能用來訂閱channel來接收消息的Subscribe key和一個既能夠發送消息也能夠訂閱channel來接受消息的Common key。
OK 如今用一個demo來展現,爲何只須要9分鐘。
服務器→客戶端
這裏我用JAVA來演示,固然 GoEasy適用於任何語言和瀏覽器。
先用JAVA寫一個Demo
這裏須要注意的是,我這裏用的GoEasy的依賴包,能夠直接下載
package com.cy; import io.goeasy.GoEasy; import io.goeasy.publish.GoEasyError; import io.goeasy.publish.PublishListener; public class GoEasySdkTest { public static void main(String[] args) { GoEasy goEasy = new GoEasy("rest-hangzhou.goeasy.io", "your app keyXXXXXXXXXXXXXXXXX"); goEasy.publish("demo", "HelloWorld", 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()); } }); } }
用html 寫一個接收端
<html> <head> <script type="text/javascript" src="https://cdn-hangzhou.goeasy.io/goeasy.js"></script> <script type="text/javascript"> var goeasy = new GoEasy({ appkey: 'your app keyXXXXXXXXXXXXXX' }); goeasy.subscribe({ channel: 'demo', onMessage: function(message){ //收到消息的第一行,打出日誌,以這個時間做爲檢查的標準 alert('收到:'+message.content); } }); </script> </head> </html>
這裏我用的是Common key,在實戰項目中,接收端使用Common key會存在安全缺陷,建議使用Subscribe key。
還有須要注意的一點就是,CDN host和Rest host 取決於你在建立應用時的選擇。
最後從頁面接受結果能夠看到與C#中demo content推送的內容一致。
同時,咱們也能夠完成客戶端→客戶端的推送
發送端
<!DOCTYPE html> <html> <html> <head> <script type="text/javascript" src="https://cdn-hangzhou.goeasy.io/goeasy.js"></script> <script type="text/javascript"> var goeasy = new GoEasy({ appkey: 'your app keyXXXXXXXXXXXXXX' }); 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>
接收端代碼不變,咱們從發送端發送消息
最後接受成功
一樣的app key在不一樣的代碼以及環境中都可以達到一樣的效果,GoEasy 在讓WebSocket變簡單的過程當中爲開發人員極大的減小了時間和人力成本,若是您對安全性有要求的話,GoEasy 付費項目中有OTP 。是官方獨有的技術,徹底保證了消息的安全。