Socket.IO內置了一些默認事件,我們在設計事件的時候應該避開默認的事件名稱,并靈活運用這些默認事件警没。
服務器端事件:
io.sockets.on(‘connection’, function(socket) {}):socket連接成功之后觸發(fā),用于初始化
socket.on(‘message’, function(message, callback) {}):客戶端通過socket.send來傳送消息時觸發(fā)此事件,message為傳輸的消息扣汪,callback是收到消息后要執(zhí)行的回調
socket.on(‘anything’, function(data) {}):收到任何事件時觸發(fā)
socket.on(‘disconnect’, function() {}):socket失去連接時觸發(fā)(包括關閉瀏覽器,主動斷開锨匆,掉線等任何斷開連接的情況)
客戶端事件:
connect:連接成功
connecting:正在連接
disconnect:斷開連接
connect_failed:連接失敗
error:錯誤發(fā)生崭别,并且無法被其他事件類型所處理
message:同服務器端message事件
anything:同服務器端anything事件
reconnect_failed:重連失敗
reconnect:成功重連
reconnecting:正在重連
在這里要提下客戶端socket發(fā)起連接時的順序。當第一次連接時恐锣,事件觸發(fā)順序為:connecting->connect茅主;當失去連接時,事件觸發(fā)順序為:disconnect->reconnecting(可能進行多次)->connecting->reconnect->connect土榴。