天天看點

學習SWOOLE之異步TCP伺服器

準備工作:

使用VMware軟體安裝Centos7 安裝php7 和swoole擴充

<?php
//搭建異步tcp伺服器


$serv=new swoole_server("0.0.0.0",9505);

//設定工作程序數量
$serv->set([
    "task_worker_num"=>4
]);


//建立連接配接
$serv->on("connect",function ($serv,$fd){
    echo "建立連接配接\n";
});

//投遞異步任務
$serv->on("receive",function ($serv,$fd,$form_id,$data){
    $task_id=$serv->task($data);
    echo "接受到資料:";
    var_dump($data);
    echo "投遞異步任務,異步id=".$task_id."\n";
    $serv->send($fd,"success");
});



//處理異步任務
$serv->on("task",function ($serv,$task_id,$form_id,$data){
    echo "執行異步ID:".$task_id."\n";
    $serv->finish($data);
});


//完成異步任務
$serv->on("finish",function ($serv,$task_id,$data){
    echo "處理完任務\n";

});


//關閉連接配接
$serv->on("close",function ($serv,$fd){
    echo "關閉連接配接\n";
});
//啟動TCP異步伺服器
$serv->start();
           

啟動異步tcp伺服器

php SynTcpServer.php

學習SWOOLE之異步TCP伺服器

檢視服務是否啟動

ps -ajft

學習SWOOLE之異步TCP伺服器

使用網絡助手進行測試:

學習SWOOLE之異步TCP伺服器