Server
創建一個異步服務器程序,支持TCP、UDP、UnixSocket 3種協議,支持IPv4和IPv6,支持SSL/TLS單向雙向證書的隧道加密。使用者無需關注底層實現細節,僅需要設置網絡事件的回調函數即可。
請勿在使用swoole_server之前調用其他異步IO的API,否則將無法創建swoole_server。可以在Server啟動后,onWorkerStart回調函數中使用。
swoole_server只能用于php-cli環境,否則會拋出致命錯誤
構建Server對象
$serv = new swoole_server('0.0.0.0', 9501, SWOOLE_BASE, SWOOLE_SOCK_TCP);設置運行時參數
$serv->set(array('worker_num' => 4,'daemonize' => true,'backlog' => 128, ));注冊事件回調函數
$serv->on('Connect', 'my_onConnect'); $serv->on('Receive', 'my_onReceive'); $serv->on('Close', 'my_onClose');PHP中可以使用4種回調函數的風格
啟動服務器
$serv->start();屬性列表
$serv->manager_pid; //管理進程的PID,通過向管理進程發送SIGUSR1信號可實現柔性重啟 $serv->master_pid; //主進程的PID,通過向主進程發送SIGTERM信號可安全關閉服務器 $serv->connections; //當前服務器的客戶端連接,可使用foreach遍歷所有連接運行流程圖
進程/線程結構圖
來源:https://wiki.swoole.com/wiki/page/p-server.html
總結
- 上一篇: php+swoole
- 下一篇: swoole的安装(已经做测试成功)