當(dāng)業(yè)務(wù)邏輯代碼做了升級(jí)后,需要重啟服務(wù),也就意味著所有socket都會(huì)被斷開,這個(gè)時(shí)候客戶端是否有辦法判定是因?yàn)榉?wù)器重啟導(dǎo)致的
服務(wù)器重啟包不會(huì)觸發(fā)onclose,其它所有情況不管服務(wù)端主動(dòng)踢出還是客戶端斷開還是網(wǎng)路斷開都會(huì)觸發(fā)onclose
workerman G/W模型有兩組進(jìn)程,Gateway進(jìn)程和Worker進(jìn)程。
Gateway進(jìn)程負(fù)責(zé)維持客戶端連接及處理網(wǎng)絡(luò)IO,Worker進(jìn)程處理業(yè)務(wù)。
Gateway由于沒有業(yè)務(wù)代碼,所以不用重啟,代碼更新只要重啟Worker進(jìn)程,設(shè)置Gateway.conf no_reload=1 不重啟Gateway進(jìn)程即可,這時(shí)客戶端網(wǎng)絡(luò)不會(huì)斷開。