【UDP】EasySwoole + UDP 服務器開發與測試?

如果是使用的某些雲服務器,例如阿里雲,一定要將ECS服務器的安全組設置好,例如UDP端口以9601爲例,必須要設置安全組,不然只能在同一服務器內測試。

安全組設置

EasySwoole框架中,修改EasySwooleEvent.php

public static function mainServerCreate(EventRegister $register)
    {
    	..代碼適當位置,加入以下代碼,就創建了簡單的UDP服務器
    	..
    	..
    	..
    	..
        $server = ServerManager::getInstance()->getSwooleServer();
        $subPort = $server->addListener('0.0.0.0','9601',SWOOLE_UDP);
        $subPort->on('packet',function (\swoole_server $server, $data, array $client_info){
            //這裏處理接收到的數據
			..
			..
			..
			//再給客戶端發送個回覆
            $server->sendto($client_info['address'], $client_info['port'], 'success');//
      
            //
        });
    }

客戶端模擬UDP請求,這裏最好再另外一個服務器中測試發送

//連接swoole tcp服務
$client=new swoole_client(SWOOLE_SOCK_UDP);
if(!$client->connect("IP Address",9601)){
    echo 'UDP連接失敗';
};
//php cli 常量
fwrite(STDOUT,"請輸入消息:");
$msg=trim(fgets(STDOUT));
//發送消息給tcp server服務器
$client->send($msg);
//接收來自server的數據
$result=$client->recv();
echo $result;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章