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.启动成功后,netstat查看
$ ps aux | grep php 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 IdIdId-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
不言 
![[爱了]](/js/img/d1.gif)
![[尴尬]](/js/img/d16.gif)