Windows 環(huán)境下開發(fā),為了使用 react/mysql,啟用了 reactphp,此時 Workerman 使用了 Workerman\Events\React\StreamSelectLoop,但這個實現(xiàn)類跟 Workerman\Events\Select 不同的是在 add() 里面并沒有處理 EventInterface::EV_EXCEPT,這最終導致了 AsyncTcpConnection 連接失敗時沒有觸發(fā) onClose。
請問有什么方法可以避開這個問題嗎?
解釋一下,我的項目實際生產(chǎn)環(huán)境是在 Linux,開發(fā)是在 Windows,我相信在 Linux 下應該不存在這個問題,但這個問題給開發(fā)過程帶來很大的不便,所以還是希望能有辦法解決。
學習了一下 reactphp 的相關(guān)代碼,發(fā)現(xiàn)不能怪 Workerman\Events\React\StreamSelectLoop 沒有處理 EventInterface::EV_EXCEPT,而是 reactphp 的 event loop 根本就沒考慮這個專用于 Windows 平臺的 except 處理邏輯,也就是說,reactphp 不支持 Windows ……
在支持 Windows 這個問題上 Workerman 可比 reactphp 貼心多了。 :D