前后端如何保持長連接?---websocket


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();  
}  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM