欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php swoole 如何不让代码停在start()这里?

程序员文章站 2022-03-24 16:01:14
...
        $serv = new swoole_server($address, $port, SWOOLE_BASE, SWOOLE_SOCK_TCP);
        $serv->on('Connect',
            function (){
              echo "!!!!!";
            }
        );
        $serv->on('Receive',
            function (){
                echo "!!!!!";
            }
        );
        $serv->on('Close',
            function (){
                echo "!!!!!";
            }
        );
        echo "?????";
        $serv->start();#停在这里
        echo "?????";#打不出来,我还想干别的,只想让这个server在一个线程里监听着

回复内容:

        $serv = new swoole_server($address, $port, SWOOLE_BASE, SWOOLE_SOCK_TCP);
        $serv->on('Connect',
            function (){
              echo "!!!!!";
            }
        );
        $serv->on('Receive',
            function (){
                echo "!!!!!";
            }
        );
        $serv->on('Close',
            function (){
                echo "!!!!!";
            }
        );
        echo "?????";
        $serv->start();#停在这里
        echo "?????";#打不出来,我还想干别的,只想让这个server在一个线程里监听着

开一个子进程去启动server就好了

官网有例子 在子进程中创建swoole_server

因为 start 里面已经开始事件循环了。你可以理解为这里面是死循环。

start以后就不应该有代码了

相关标签: php swoole