首頁 >php框架 >Swoole >swoole client有什麼用

swoole client有什麼用

(*-*)浩
(*-*)浩原創
2019-12-02 13:43:563293瀏覽

swoole client有什麼用

PHP常用socket建立TCP連接,使用CURL建立HTTP連接,為了簡化操作,Swoole提供了Client類別用於實現客戶端功能,並增加了非同步非阻塞模式,讓使用者在客戶端也能使用事件循環。       (建議學習: swoole影片教學

當用戶端使用,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支援非同步非阻塞回呼

#swoole_client支援非同步非阻塞回呼

#swoole_client支援非同步非阻塞回呼

建構方法constructor

Swoole的Client功能封裝為一個swoole_client類,可透過new swoole_client來建立一個客戶端實例。

原型

swoole_client->__construct(
  int $sock_type, 
  int $is_async = SWOOLEL_SOCK_SYNC, 
  string $key);

參數#########參數1:int $sock_type######$sock_type 表示socket類型,可使用swoole提供的巨集來指定型別。 ###
SWOOLE_TCP 创建TCP Socket
SWOOLE_TCP6 创建IPv6 TCP Socket
SWOOLE_UDP 创建UDP Socket
SWOOLE_UDP6 创建IPv6 UDP Socket
SWOOLE_SSL 开启SSL加密
SWOOLE_KEEP 开启连接复用
###其中SWOOLE_SSL與SWOOLE_KEEP不能單獨使用,需要與前四個選項共同作用。 ###
// 创建并开启SSL加密的TCP客户端
$client = new swoole_client(SWOOLE_TCP | SWOOLE_SSL);

以上是swoole client有什麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn