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!