workerman如何使用xdebug調(diào)試,workerman確實優(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是因為使用了stream_socket*系列函數(shù),會在系統(tǒng)層面死循環(huán)監(jiān)聽讀取端口數(shù)據(jù),想辦法繞開它就可以。
使用GatewayWorker作為核心,GatewayWorker使用經(jīng)典的Gateway和Worker進程模型
這樣可以隔離連接和業(yè)務(wù)進程,使用一個死循環(huán)的cli隊列程序就可以模擬Worker業(yè)務(wù)進程。
調(diào)試使用cli隊列消費Gateway投遞過來的信息,隊列也是調(diào)用BusinessEvent 類;
生成環(huán)境把cli隊列切換成Worker進程,也是調(diào)用 BusinessEvent 類,無縫切換;