title: EasySwoole Socket meta:
- name: description content: php利用swoole,从而可以实现消息推送,和硬件消息交互
- name: keywords content: swoole|swoole 拓展|swoole 框架|EasySwoole Socket|swoole socket|swoole websocket|swoole tcp|swoole udp|php websocket
udp应用
udp服务器开启,在EasySwooleEvent.php中进行创建子服务
public static function mainServerCreate(EventRegister $register){$server = ServerManager::getInstance()->getSwooleServer();$subPort = $server->addListener('0.0.0.0','9601',SWOOLE_UDP);$subPort->on('packet',function (\swoole_server $server, string $data, array $client_info){var_dump($data);});}
udp客户端
public static function mainServerCreate(EventRegister $register){//添加自定义进程做定时udp发送$server->addProcess(new \swoole_process(function (\swoole_process $process){//服务正常关闭$process::signal(SIGTERM,function ()use($process){$process->exit(0);});//默认5秒广播一次\Swoole\Timer::tick(5000,function (){if($sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP)){socket_set_option($sock,SOL_SOCKET,SO_BROADCAST,true);$msg= '123456';socket_sendto($sock,$msg,strlen($msg),0,'255.255.255.255',9602);//广播地址socket_close($sock);}});}));}
