swoole_exmple/Server/udp.php
Wenbin.Wang 1be654dd5f 代码
2021-12-24 16:44:53 +08:00

53 lines
1.3 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* UDP服务端类
* User: fantasticbin
* Date: 2020/1/15
*/
class Udp
{
const HOST = '127.0.0.1';
const PORT = 9502;
const WORKER_NUM = 2;
const MAX_REQUEST = 10000;
public $server = null;
public function __construct()
{
// 创建UDP服务器第四个参数指定为UDP监听 127.0.0.1:9502 端口
$this->server = new Swoole\Server(self::HOST, self::PORT, SWOOLE_PROCESS, SWOOLE_SOCK_UDP);
// 设置TCP服务器参数
$this->server->set([
'worker_num' => self::WORKER_NUM,
'max_request' => self::MAX_REQUEST
]);
// 监听数据接收事件
$this->server->on('Packet', [$this, 'onPacket']);
}
/**
* 监听数据接收事件
* @param $serv Swoole\Server UDP对象
* @param $data string 客户端传入的字符串
* @param $clientInfo array 客户端信息数据
*/
public function onPacket($serv, $data, $clientInfo)
{
$serv->sendto($clientInfo['address'], $clientInfo['port'], 'Hello ' . $data . '!' . PHP_EOL);
var_dump($clientInfo);
}
/**
* 启动UDP服务器
*/
public function start()
{
$this->server->start();
}
}
$udp = new Udp();
$udp->start();