1. pc端的應用,一般會采用前端定時請求后台;
2. app定時去訪問后台的話,對用戶來說並不友好,會消耗大量的流量,移動端最好的方式就是后台主動向app推送信息;
3. H5提供了一種比較好的方式是websocket,打開app后,向后台發出請求,后台響應后,就可以實時向前端推送信息了,而無需app再次去訪問;
4.websocket的前端實現方法:
websocket = null; url="127.xxxxxxx/xxx" var websocketAddress = 'ws://'+ url ; //判斷當前瀏覽器是否支持WebSocket if('WebSocket' in window){ websocket = new WebSocket(websocketAddress); } else{ alert('當前瀏覽器不支持WebSocket') } //連接發生錯誤的回調方法 websocket.onerror = function(){ //notificationReminder("錯誤"); }; //連接成功時的回調方法 websocket.onopen = function(event){ console.log(event); } //接收到消息的回調方法 websocket.onmessage = function(event){ $scope.notificationReminder(event.data); } //連接關閉的回調方法 websocket.onclose = function(){ //notificationReminder("關閉"); } //監聽窗口關閉事件,當窗口關閉時,主動去關閉websocket連接,防止連接還沒斷開就關閉窗口,server端會拋異常。 window.onbeforeunload = function(){ websocket.close(); } //發送消息 $scope.send = function(){ websocket.send(localStorageService.get('UserID')); } $scope.closeWebSocket = function(){ websocket.close(); }
