国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

Windows下Workerman使用Fiber協(xié)程,HTTP訪問無響應(yīng)

深林孤鷹

最新版Workerman5.1,安裝了revolt/event-loop,運行環(huán)境為windows10、PHP8.3.8,用下面代碼(文檔示例代碼):


。。。
$worker = new Worker('http://0.0.0.0:8001');
$worker->eventLoop = Fiber::class; // 使用自帶的Fiber協(xié)程

$worker->onMessage = function (TcpConnection $connection, Request $request) 
{
    echo "onMessage:id:{$connection->id}\n";

    Coroutine::create(function () {
        echo file_get_contents("http://。。。");
    });
    $connection->send('ok');
};

Worker::runAll();

運行成功,但實際訪問時一直請求中無法返回數(shù)據(jù),如果改為Swow就正常,請問是否Windows下不支持Fiber?

367 1 0
1個回答

walkor 打賞

文檔有寫,F(xiàn)iber里用阻塞函數(shù)進程會進入阻塞。

  • 深林孤鷹 2025-03-08

    這個我明白,但不用阻塞函數(shù)也有問題,比如我直接:
    $worker->onMessage = function(TcpConnection $connection, Request $request)
    {
    echo "onMessage:id:{$connection->id}\n";
    $connection->send('hello');
    };
    這樣也一直不返回數(shù)據(jù)。。

  • walkor 2025-03-08

    如果不使用swow,需要把swow關(guān)閉,不然會影響。

  • 深林孤鷹 2025-03-09

    謝謝老大,解決了。睡太晚注意身體啊

??