当前位置: 代码迷 >> 综合 >> Swoole UDP服务
  详细解决方案

Swoole UDP服务

热度:21   发布时间:2023-12-03 22:02:05.0

一、编写服务端脚本文件udp.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);echo $data;
});//启动服务器
$serv->start();

二、启动UDP服务

php udp.php

三、连接服务并发送数据

1.netcat 连接

netcat -u 127.0.0.1 9502
hello
Server: hello

2.写客户端脚本连接udp_client.php

<?php//连接swoole tcp服务
$client=new swoole_client(SWOOLE_SOCK_UDP);
if(!$client->connect("127.0.0.1",9502)){echo 'tcp连接失败';
};
//php cli 常量
fwrite(STDOUT,"请输入消息:");
$msg=trim(fgets(STDOUT));
//发送消息给tcp server服务器
$client->send($msg);
//接收来自server的数据
$result=$client->recv();
echo $result;

四、测试场景如下