Heim  >  Artikel  >  PHP-Framework  >  Wozu dient der Swoole-Client?

Wozu dient der Swoole-Client?

(*-*)浩
(*-*)浩Original
2019-12-02 13:43:563269Durchsuche

Wozu dient der Swoole-Client?

PHP verwendet üblicherweise Sockets zum Erstellen von TCP-Verbindungen und CURL zum Erstellen von HTTP-Verbindungen. Um den Vorgang zu vereinfachen, stellt Swoole die Client-Klasse zur Implementierung von Client-Funktionen bereit und fügt asynchrone Nicht-Verbindungen hinzu -Blockierungsmodus, der es Benutzern ermöglicht, die Ereignisschleife auf der Clientseite zu verwenden. (Empfohlenes Lernen: Swoole-Video-Tutorial )

Als Client kann der Swoole-Client in der FPM-Umgebung oder in Apache verwendet werden, aber der asynchrone asynchrone Modus ist nicht zulässig, sondern nur die synchrone Verwendung -Blockierungsmodus, der asynchrone nicht blockierende Modus ist nur im CLI-Modus verfügbar.

Der Client stellt den Kapselungscode des TCP/UDP-Socket-Clients bereit. Zur Verwendung ist nur ein neuer SwooleClient erforderlich.

Was sind die Vorteile des Socket-Clients von Swoole gegenüber den von PHP bereitgestellten Stream-Familienfunktionen?

Die Stream-Funktion weist Timeout-Fallen und Fehler auf. Bei unsachgemäßer Handhabung wird der Server für lange Zeit blockiert.

Stream und Fread haben eine Längenbeschränkung von 8192 und können keine großen UDP-Pakete unterstützen.

Der swoole_client-Client unterstützt Waitall. Wenn die Paketlänge bekannt ist, kann sie sofort ohne Schleife abgerufen werden.

swoole_client unterstützt UDP-Verbindung, wodurch das Problem der UDP-Paketzeichenfolge gelöst wird

swoole_client ist reiner C-Code

swoole_client unterstützt asynchrone, nicht blockierende Rückrufe

Konstruktor-Methodenkonstruktor

Swooles Client-Funktion ist als swoole_client-Klasse gekapselt und eine Client-Instanz kann über den neuen swoole_client erstellt werden.

Prototyp

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

Parameter

Parameter 1: int $sock_type

$sock_type repräsentiert den Socket type können Sie das von swoole bereitgestellte Makro verwenden, um den Typ anzugeben.

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 und SWOOLE_KEEP können nicht alleine verwendet werden und müssen mit den ersten vier Optionen zusammenarbeiten.

// 创建并开启SSL加密的TCP客户端
$client = new swoole_client(SWOOLE_TCP | SWOOLE_SSL);

Das obige ist der detaillierte Inhalt vonWozu dient der Swoole-Client?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn