workerman如何使用xdebug調(diào)試,workerman確實(shí)優(yōu)秀,但是由于現(xiàn)在的業(yè)務(wù)邏輯較為復(fù)雜,代碼量大,需要xdebug調(diào)試,麻煩各位,如何xdebug多線程調(diào)試,謝謝了
https://github.com/ctfang/game-server
https://github.com/ctfang/game-server
workermen不能使用xdebug是因?yàn)槭褂昧藄tream_socket*系列函數(shù),會(huì)在系統(tǒng)層面死循環(huán)監(jiān)聽讀取端口數(shù)據(jù),想辦法繞開它就可以。
使用GatewayWorker作為核心,GatewayWorker使用經(jīng)典的Gateway和Worker進(jìn)程模型
這樣可以隔離連接和業(yè)務(wù)進(jìn)程,使用一個(gè)死循環(huán)的cli隊(duì)列程序就可以模擬Worker業(yè)務(wù)進(jìn)程。
調(diào)試使用cli隊(duì)列消費(fèi)Gateway投遞過來的信息,隊(duì)列也是調(diào)用BusinessEvent 類;
生成環(huán)境把cli隊(duì)列切換成Worker進(jìn)程,也是調(diào)用 BusinessEvent 類,無縫切換;