是不是必须要在Worker onXXX事件回调方法里才能新建立连接?

0

我的业务是用WS作为client端,我想在一个进程进行上成百上千的WS client连接, 但是这种连接是动态生成连接。根据文档案例如下代码:


$worker = new Worker();
$worker->onWorkerStart = function()
{
$con = new AsyncTcpConnection("ws://echo.websocket.org:80");


如果我想再主动连接一个WS。我的做法就是
$worker->onWorkerStart = function()
{
$con1 = new AsyncTcpConnection("ws://echo.websocket.org:80");
$con2 = new AsyncTcpConnection("ws://echo.websocket.org:80");

如果成百上千的主动连接,我的构思是用定时器来检测是否有主动连接需求
$worker->onWorkerStart = function(){
Timer::add(1, function() {
new AsyncTcpConnection("ws://echo.websocket.org:80");
});
}
进程不重启的情况下,通过定时检查,来判断是否有新的主动连接。
然后我的奇葩想法来了,因为有闭包又想简化代码结构,我已经开启了worker了,那么我是否不用再onXXX里去new AsyncTcpConnection ,在任何地方都可以new?我试过了不成功,所有想问问。

已邀请:

walkor

赞同来自:

onWorkerStart运行完之后,可以在任意的位置初始化AsyncTcpConnection 连接

要回复问题请先登录注册