swoole 创建UDP服务器
程序员文章站
2022-05-07 07:59:31
udp_server.php UDP服务器没有连接的概念,启动后客户端无需connect,直接可以向server监听的端口发送数据包。$clientInfo是客户端的相关信息 1.启动服务 2.启动成功后,查看服务进程状态 3.nc连接服务器 4.客户端发送数据包后,服务端打印$clientInfo ......
udp_server.php
<?php // 创建server对象,监听 127.0.0.1:9502端口,类型为swoole_sock_udp $serv = new swoole_server('127.0.0.1', 9502, swoole_process, swoole_sock_udp); // 监听数据接收事件 $serv->on('packet', function ($serv, $data, $clientinfo) { $serv->sendto($clientinfo['address'], $clientinfo['port'], 'server ' . $data); var_dump($clientinfo); }); // 启动服务器 $serv->start();
udp服务器没有连接的概念,启动后客户端无需connect,直接可以向server监听的端口发送数据包。$clientinfo是客户端的相关信息
1.启动服务
$ /usr/local/php/bin/php udp_server.php
2.启动成功后,查看服务进程状态
$ ps aux | grep udp_server oosten 22944 0.0 2.2 314416 23220 pts/4 sl+ 10:49 0:00 /usr/local/php/bin/php udp_server.php oosten 22945 0.0 0.4 240032 4084 pts/4 s+ 10:49 0:00 /usr/local/php/bin/php udp_server.php oosten 22947 0.0 0.7 244732 7148 pts/4 s+ 10:49 0:00 /usr/local/php/bin/php udp_server.php
3.nc连接服务器
$ nc -u 127.0.0.1 9502 ###-u,使用udp传输协议 hello server hello
4.客户端发送数据包后,服务端打印$clientinfo数据
array(4) { ["server_socket"]=> int(3) ["server_port"]=> int(9502) ["address"]=> string(9) "127.0.0.1" ["port"]=> int(40635) }
5.结束进程
kill 22944
参考:https://wiki.swoole.com/wiki
上一篇: python 学习总结4