您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
swoole学习笔记-udp服务器
发布时间:2018-04-30 10:51:43编辑:雪饮阅读()
tcp服务器相对于udp服务器来说更可靠
udp服务器创建脚本
<?php
//创建swoole-udp服务器
$serv=new swoole_server('0.0.0.0',9502,SWOOLE_PROCESS,SWOOLE_SOCK_UDP);
/*
参数解析:
$host:$host为0.0.0.0,表示允许全部ip
$port:端口号使用9502。
$mode:模式为SWOOLE_PROCESS多进程的方式
$soke_type:类型为SWOOLE_SOCK_UDP
*/
//配置swoole-udp服务器数据接收的监听
/*
udp服务器数据接收需要监听packet事件
监听packet事件时回调函数中参数分别为服务端信息、接收到的数据、客户端信息
*/
$serv->on('packet',function($serv,$data,$fd){
//发送数据到对应客户端
$serv->sendto($fd["address"],$fd["port"],"server:abc");
var_dump($fd);
});
//swoole-udp服务器的启动
$serv->start();
调试
udp服务器在服务器端一样启动后.
网络调试助手的协议类型选择udp
ip地址就只能填写本地的ip地址了,可通过命令查看,如ipconfig查看
端口号也必须填写本地的,别冲突了本地其它端口,这里配置如8080
然后就可以连接成功了.
连接成功后会发现右下方区域可以填写目标主机和目标端口,这里分别对应服务器端的地址和端口.
当填写好目标主机和目标端口后还需要记得去掉左边区域"十六进制显示"的勾选,否则当我们服务器端给反馈回来的信息就都成16进制数据格式了.然后点击发送后会发现服务器端的packet事件被成功触发,并且客户端这边也成功收到反馈了.
![2.png](/d/file/xuewuzhijing/xindebiji/de41627d6768bcef5186f5f5e76f5f75.png)
关键字词:swoole,udp服务器