swoole创建UDP服务器的方法(代码示例)
来源:不言
发布时间:2019-01-16 15:00:01
阅读量:2663
本篇文章给大家带来的内容是关于swoole创建UDP服务器的方法(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
udp_server.php
1 2 3 4 5 6 7 8 9 10 11 12 | <?php
$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.启动服务
1 | $ /usr/local/php/bin/php udp_server.php
|
2.启动成功后,netstat查看
1 2 3 4 | $ 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连接服务器
1 2 | $ nc -u 127.0.0.1 9502 ###-u,使用udp传输协议hello
Server hello
|
4.客户端发送数据包后,服务端打印$clientInfo数据
1 2 3 4 5 6 7 8 9 10 | array(4) {
["server_socket"]=>
int(3)
["server_port"]=>
int(9502)
["address"]=>
string(9) "127.0.0.1"
["port"]=>
int(40635)
}
|
5.结束进程