php常用socket建立tcp連線,使用curl建立http連線,為了簡化操作,swoole提供了client類用於實現客戶端功能,並增加了非同步非阻塞模式,讓使用者在客戶端也能使用事件迴圈。
作為客戶端使用,swoole client可以在fpm環境下或 apache中使用,但不允許使用async非同步模式,只能使用同步非阻塞模式,非同步非阻塞模式僅限cli模式下使用。
client提供了tcp/udp socket的客戶端的封裝**,使用時僅需new swoole\client。
swoole的socket客戶端對比php提供的stream族函式有什麼優勢呢?
stream函式存在超時設定的陷阱和bug,一旦沒有處理好將會導致伺服器長時間阻塞。
stream和fread有8192長度限制,無法支援udp大包。
swoole_client客戶端支援waitall,在知道包長度的情況下可以一次取完不必迴圈獲取。
swoole_client支援udp的connect解決了udp串包的問題
swoole_client是純c的**
swoole_client支援非同步非阻塞**
構造方法 constructor
swoole的client功能封裝為乙個swoole_client類,可通過new swoole_client來建立乙個客戶端例項。
原型
引數
引數1:int $sock_type
$sock_type 表示socket型別,可使用swoole提供的巨集來指定型別。
其中swoole_ssl與swoole_keep不能單獨使用,需要與前四個選項共同作用。
Swoole Client 選項配置
客戶端可以使用set方法設定一些選項啟用某些特性 client new swoole client swoole tcp,swoole async 配置選項設定 configs 設定緩衝區大小為2mb configs socket buffer size 1024 1024 2 開啟eof結束符檢測...
python有什麼內容 python有什麼用處
python用法居然這麼多?每種程式語言都有它適用的領域,python也不例外。接下來,博主會用開發的一些具體的專案來介紹python到底能做些什麼.網路爬蟲 用python爬取王者榮耀全英雄高畫質桌布 爬蟲主要用到的庫 requests 傳送網路請求 beautifulsoup4 網頁文件解析 c...
儲存過程是什麼?有什麼用?有什麼
儲存過程 stored procedure 是一組為了完成特定功能的 sql 語句集,經編譯後存 儲在資料庫中。使用者通過指定儲存過程的名字並給出引數 如果該儲存過程帶有引數 來執 行它。儲存過程是 sql 語句和可選控制流語句的預編譯集合,以乙個名稱儲存並作為乙個 單元處理。儲存過程儲存在資料庫內...