
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不能單獨使用,需要與前四個選項共同作用,

以上就是本篇文章全部內容,感謝閱讀
PHP進階、面試;檔案、視瞥澩免費獲取
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/102151.html
標籤:PHP
上一篇:《Dotnet9》系列之建站-Dotnet9建站20天感悟
下一篇:聚合資料介面呼叫實體
