問題是這樣的:
在windows下,使用GatewayWorker,使用的是websocket,客戶端使用瀏覽器模擬500個連接。
然后發(fā)現(xiàn),在我的電腦上,前251個連接正常,在252個就連不上了。
跟蹤代碼后發(fā)現(xiàn),在gateway的代碼中:
$gateway->onConnect = function($connection)
{
//第252個連接,可以執(zhí)行到這里。
//..........
$connection->onWebSocketConnect = function($connection , $http_header)
{
//第252個連接,這里沒有執(zhí)行,即沒有進入到這個方法里面。
};
};
這個什么原因呢?
如果是php沒有用擴展Libevent的話,就會有這個問題,安裝了擴展Libevent,就不存在這個問題,估計應(yīng)該是Events/Select.php中哪里有問題