4
我有一個socketio服務器/客戶端很好地協同工作,但是我想開始編寫服務器在頁面加載或正常運行期間脫機時的事件。socketio客戶端:如何處理socketio服務器
我,包括我的頭遠程socket.io代碼:
<script src="<?=NODE_HOST?>/socket.io/socket.io.js"></script>
<script>
var nodeHost = '<?=NODE_HOST?>';
</script>
而且在我的客戶端控制器我有
if(typeof io != 'undefined') this.socket = io.connect(this.settings.server); else this.handleDisconnect();
我不得不嘗試的功能重新進行連接並且如果a)在正常操作期間發生套接字斷開連接,或者b)在頁面加載時服務器斷開
botController.prototype.handleDisconnect = function() { $.getScript(nodeHost+"/socket.io/socket.io.js").done(function(script, textStatus) { bot.control.socket = io.connect(bot.control.settings.server); }).fail(function(jqxhr, settings, exception) { setTimeout(function() { bot.control.handleDisconnect(); }, 5000); }); }
我是否正確地使用這個方法?
主要的問題我現在所擁有的(這讓我創造了這個問題)是在頁面加載我的代碼中的錯誤,當服務器關閉,因爲我有這樣的功能:
socket.on(...
當插座尚不存在。我可以將這些包裝在一個函數中,並在檢測到成功重新連接時存在全局套接字對象時調用它?如果包含socket.on ...的函數被多次調用(如果服務器在操作期間多次關閉),會影響嗎?