Join 4,000+ others and never miss out on new tips, tutorials, and more.
4.x is outdated, please check the latest version 22.x
Latest version:
pecl install openswoole-22.1.2
The SWOOLE_HOOK_UDP
flag will enable coroutine support for UDP sockets and streams. Support was added in OpenSwoole v4.2.0
.
<?php
Co::set(['hook_flags' => SWOOLE_HOOK_UDP]);
Co\run(function()
{
$socket = stream_socket_server(
'udp://0.0.0.0:6666',
$errno,
$errstr,
STREAM_SERVER_BIND
);
if(!$socket)
{
echo "$errstr ($errno)" . PHP_EOL;
exit(1);
}
while(stream_socket_recvfrom($socket, 1, 0))
{
// ...
}
});