一、服務端
0. swoole常用的配置項:
daemonize = true 守護程序化
worker_num #swoole配置引數 設定啟動的worker程序數: 如 1 個請求耗時 100ms,要提供 1000qps 的處理能力,那必須配置 100 個程序或更多。
reactor_num #執行緒數
task_worker_num #配置 task 程序的數量
1. 幾個重要的id:
$server->master_pid #主程序的 pid 跟pid_file檔案存放的pid、netstat -tlunp | grep 6998 中的pid保持一致
$fd 客戶端連線的唯一識別符號
$server->manager_pid #當前伺服器管理程序的 pid ??? 與master_pid的區別 管理程序與主程序的區別
$server->worker_id #獲得當前worker程序編號, 包括task程序 worker程序的範圍是[0, worker_num - 1]; task程序範圍 [worker_num, worker_num + task_worker_num -1 ] 要深刻理解這兩個範圍
$server->worker_pid #得到worker程序的作業系統程序id 與posix_getpid() 的返回值相同 如worker_id = 0 則 worker_pid = 76845
2. 其他屬性
$server->taskworker #當前程序是否是task程序 true task程序 / false worker程序
$server->connections #連線跌代器 和 $server->getclientlist()一致, connections不是陣列或物件, 只能用foreach訪問, 裡面存的是$fd
3. 定時器
/*延時執行
*/$after = timer::after(10000,function () use ($server,$fd
));/*
定時器*/
$i = 0;
$timer = timer::tick(1000,function ($timerid) use (&$i,$server,$fd,$after
));
二、客戶端
0. 方法
$client->isconnected() #是否已連線到伺服器
swoole學習筆記一
管理程序manager 非同步reactor執行緒 全非同步非阻塞 同步或者非同步worker程序,沒有用到epoll task worker程序 完全是同步阻塞模式 factory task 如果reactor最大允許監聽的事件數比reactor的事件數小的話用poll select,否則用epo...
swoole 學習筆記(1)
解壓 configure make make install tips php i grep php.ini 檢視php.ini 配置檔案位置 獲取原始碼 swoole官網 phpize 生成configure 檔案 configure make make install configure ena...
Swoole學習 Swoole入門指南
初識swoole swoole官網 swoole官方文件 入門書籍 tcp ip網路程式設計 尹聖雨 韓 深入書籍 unix環境高階程式設計 中文第三版 unix網路程式設計卷1 套接字聯網 unix網路程式設計卷2 程序間通訊 版本已更新至4.3.x。swoole2.0增加協程。swoole3.0...