前後端如何互聯?---websocket
阿新 • • 發佈:2017-09-05
log 成功 address rem 實現 () color 後端 無需
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‘ inwindow){ 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(); }
前後端如何互聯?---websocket