Swoole學習(三)Swoole之UDP伺服器的建立

OldBoy~發表於2018-01-13

環境:Centos6.4,PHP環境:PHP7

<?php
//建立UCP伺服器(UDP伺服器相對於TCP伺服器通訊更可靠些)
/**
 * $host 是swoole需要監聽的ip,如果要監聽本地,不對外服務,那麼就是127.0.0.1;如果我要監聽外網,比如我本地是192.168.9.155,我可以監聽這個IP,如果本機分配的192.168.9.155的IP,外網在訪問IP的時候,就可以相應對應的TCP服務。當然也可以同時監聽多個IP
 */
/**
 * $port埠號。如果選擇1024以下的埠號,需要root許可權,如果swoole和php沒有root許可權,那就行不通。這裡是9502埠
 */
//$mode預設是 SWOOLE_PROCESS 多程式方式
//$sock預設是SWOOLE_SOCK_TCP 預設TCP服務,因為這裡是UDP,需要改為UDP

$host = '0.0.0.0';
$port = 9502;
$server = new swoole_server($host, $port, SWOOLE_PROCESS, SWOOLE_SOCK_UDP);

//監聽資料接收事件
$server->on('packet', function($server, $data, $fd){ //$server是$server控制程式碼,$fd是客戶端資訊,$data是接收到的資料
    //傳送資料到相應的客戶端,也就是資訊反饋
    $server->sendto($fd['address'], $fd['port'], "Server: $data");
    var_dump($fd);
});


$server->start();

然後進入終端對應的檔案所在目錄,執行命令(這裡檔名是index2.php)

出現此狀態,沒有報錯,說明開啟成功了。

# ps -ajft  //檢視程式狀態

開始測試

檢視服務端

OK~

 

相關文章