後台的支援亦相當多元,可以參考下圖。
使用Push的架構為
Server(自己架) ----> Puser ------>接收推播的裝置。
如果只是想玩玩看的朋友,可以先去申請一個free account ,可以擁有的免費資源
,官網說明如下:
也就是說你可以同時擁有最多100個連線數,20萬則的訊息,以及無限制的channel。
channel的定義就有點像群組的味道,例如我要發送給頻道A的朋友,
那麼註冊為頻道B的朋友就不會收到,即使都是同一個Pusher app 。
另一個要知道的名詞叫做event,一個channel下可以有多個event,
它的角色就像在一個channel中,可以引發不同的事件,例如client端
收到time_event時,去做更新時間,收到cost_event時要使用者付款,
這些event都是自己定義的動作,沒有任何的預先規範,event的名字也是
例如範例中用的都是test_channel , 以及my_event。
如果真的要商用,還是建議去買個付費帳號吧,不然100個connections一下子就用
用完了啦。
一進到到pusher主頁面,會看到你的appid 等相關資訊,以及前、後端範例程式
先來測一下JavaScript前端,把範例直接複制下來就可以用了,它己經把
你的app id 等資訊都直接代入範例中,1個Move就會RUN。
<!DOCTYPE html> <head> <title>Pusher Test</title> <script src="https://js.pusher.com/3.0/pusher.min.js"></script> <script> // Enable pusher logging - don't include this in production Pusher.log = function(message) { if (window.console && window.console.log) { window.console.log(message); } }; var pusher = new Pusher('my key', { encrypted: true }); var channel = pusher.subscribe('test_channel'); channel.bind('my_event', function(data) { alert(data.message); }); </script> </head>
啟動後,我們可以查看一下輸出的Debug訊息。
pusher的範例程式己成功和Puser服務連線成功,比較讓我注目的是這行
Pusher : Connecting : {"transport":"ws","url":"wss://ws.pusherapp.com:443/app/f8b77b790f72b38e8614?protocol=7&client=js&version=3.0.0&flash=false"}
看起來它走的是WebSocket,而不是傳統的Socket ,給它一個讚。
接下來我們來弄一下一個文件介面的後端,我們需要下載一下我們所需要的library
它會告訴你lib是client或是Server用的,我這次要用python做後台,點擊連結後
轉到Github
告訴我應該怎麼安裝這個python lib
安裝過程
接下來我可以開始使用pusher了, 執行一下以下python程式碼
import pusher p = pusher.Pusher( app_id='my app id', key='My Key', secret='my secret', ssl=True, port=443 ) p.trigger('test_channel', 'my_event', {'message': 'hello blogger boywhy'})
沒有留言:
張貼留言