用多進程來處理如何?因為accept壹個客戶端以後,應該是馬上準備accept下壹個客戶端才對,而不是處理完現在這個客戶端才accept下壹個客戶端。
socket_accept以後,直接調用
pcntl_fork(),此時進程會分裂為兩個,其中壹個的pnctl_fork返回值是0,另壹個不是0。不是0的那個直接繼續調用socket_accept即可,是0的那個處理客戶端請求。
pnctl_fork不知道在windows下能不能用。
不過返回不是0的那個進程並不是這樣就完事了,還要調用pcntl_wait防止子進程卡在那邊沒有完全結束。妳可以在主進程裏時不時就調用這個,配上WNOHANG作為option參數防止沒有子進程需要wait的時候卡在那邊。
這都是linux下常用的處理手段。說實話本來我想讓妳用多線程的,不過看了壹圈不知道php裏怎麽用線程,倒是找到了用進程的方式,所以就