說到websocket你們必定不會陌生,WebSocket是HTML5一種新的協議。它實現了瀏覽器與服務器全雙工通訊(full-duplex)。一開始的握手須要藉助HTTP請求完成,當瀏覽器和服務器握手成功後,瀏覽器和服務器之間就造成了一條快速通道。二者之間就直接能夠數據互相傳送。有了websocket, 你們就能夠摒棄以往用輪詢來實現實時通信的方式了。 有了websocket後,應運而生的相關產品也不在少數,選擇也成了最大的問題,在這裏你可能會說「幹嗎用別人的,我能夠本身用原始的開發一個啊」 對此我只想說你真NB,我也很想知道你是如何解決如下問題的:javascript
<script type="text/javascript" src="http://cdn.goeasy.io/goeasy.js"></script>java
b. 建立goeasy實例 var goEasy = new GoEasy({appkey: 'appkey'}); c. 訂閱channel. goEasy. subscribe({ channel: 'channel1', onMessage: function(message){ alert('Meessage received:'+message.content);//接收到推送的消息 } }); 推送時,用goeasy提供的restful api來實現,api只須要三個參數便可: URL: http://goeasy.io/goeasy/publish Method: Post Parameters: appkey, channel, content 2. 消息到達率怎麼樣,數據到達狀況是否可視 咱們項目的用戶併發量目前最高在300人的樣子,天天會推送30條消息的樣子,每條消息的到達狀況均可以在goeasy後臺頁面進行查看。至於到達率,咱們項目的對到達率的要求是98%, 就目前來看GoEasy應該是100%的到達率。 3. 瀏覽器兼容性如何 除了經常使用的瀏覽器chrome, firefox, safari, opera外還支持IE 6到IE11的版本,低版本IE瀏覽器GoEasy採用的是polling的方式。GoEasy在兼容性這方面作的很不錯。 4. 產品的穩定性和安全性 穩定性的斷定:項目已經持續運行了4個月了,沒有出現過消息推不出或接收不到的狀況。 安全性的斷定:GoEasy在安全控制方面主要是經過appkey來控制,建立好app後系統會生成兩個key,一個既能夠用來接收又能夠用來推送,另外一個只能夠用來接收。因此用戶能夠選擇性的暴露你的key. 這樣輕鬆用C(++)實現客戶端與服務器端的實時通訊了。web
C(++) websocket實時消息推送chrome