Join 4,000+ others and never miss out on new tips, tutorials, and more.
Latest version:
pecl install openswoole-22.1.2 | composer require openswoole/core:22.1.5
The OpenSwoole\Runtime::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' => OpenSwoole\Runtime::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))
{
// ...
}
});