GatewayWorker 在windows下,压力测试并发时的问题...

tianmc

问题是这样的:
在windows下,使用GatewayWorker,使用的是websocket,客户端使用浏览器模拟500个连接。
然后发现,在我的电脑上,前251个连接正常,在252个就连不上了。

跟踪代码后发现,在gateway的代码中:

$gateway->onConnect = function($connection)
{
    //第252个连接,可以执行到这里。
   //..........

    $connection->onWebSocketConnect = function($connection , $http_header)
    {
           //第252个连接,这里没有执行,即没有进入到这个方法里面。

    };
};

这个什么原因呢?

阅读 4059
3个回答

tianmc

如果是php没有用扩展Libevent的话,就会有这个问题,安装了扩展Libevent,就不存在这个问题,估计应该是Events/Select.php中哪里有问题

  • 暂无评论
walkor

Select 单个进程最多支持1024个文件句柄(包括打开的socket句柄)
Libevent则没有这个限制。

  • 暂无评论
lobtao

windows下,就省点心吧

  • 暂无评论