現(xiàn)在有一個需求,就是客服系統(tǒng)出現(xiàn)了客服在線上,然后掉線以后,未觸發(fā)disconnect事件,現(xiàn)在想要知道有沒有方法在服務端檢查鏈接是不是在線。
主要的目的是確??头藛T掉線的時候,服務端能夠感知到客服人員已經(jīng)掉線,如果直接拔網(wǎng)線,socketio 是無法感知到disconnect事件
只有一個辦法,定時心跳,要求實時性高,就把心跳時間做短.
PHPSocketIO,說是有心跳,我也沒有見到怎么搞,
做心跳大概是要這幾個,第一,全部客戶端的socket對象,這個你可以在 connection 事件的時候,保存到一個數(shù)組里面去,第二個就是添加一個更新最后通信時間的事件,事件里面把最后通信時間更新到socket對象里面去,然后添加一個 全局定時器,里面循環(huán)判斷socket對象哪個的最后通信時間大于默認時間,就可以算他已掉線了.至于最后一步,我看了下文檔,好像還真找不到讓phpsocketIo 掉線的方法,這個你就要去看看他源碼了.
感謝回答,我去做個嘗試,