Swoole Hook UDG

The SWOOLE_HOOK_UDG flag will enable coroutine support for Unix Dgram sockets and streams. Support was added in v4.2.0.

Example

<?php

Co::set(['hook_flags' => SWOOLE_HOOK_UDG]);

Co\run(function () {

    $socket = stream_socket_server(
        'udg://swoole.sock',
        $errno,
        $errstr,
        STREAM_SERVER_BIND
    );

    if (!$socket) {
        echo "$errstr ($errno)" . PHP_EOL;
        exit(1);
    }

    while (stream_socket_recvfrom($socket, 1, 0)) {
        // ...
    }
});