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