PHP verwendet die Socket-Bibliothek von Berkley, um seine Verbindungen zu erstellen. Sie können wissen, dass Socket nur eine Datenstruktur ist. Sie verwenden diese Socket-Datenstruktur, um eine Sitzung zwischen dem Client und dem Server zu starten. Dieser Server hört ständig zu und bereitet sich darauf vor, eine neue Sitzung zu generieren. Wenn ein Client eine Verbindung zum Server herstellt, öffnet er einen Port, auf dem der Server auf eine Sitzung wartet. Zu diesem Zeitpunkt akzeptiert der Server die Verbindungsanforderung des Clients und führt dann eine -Schleife durch. Jetzt kann der Client Informationen an den Server senden, und der Server kann Informationen an den Client senden.
Um einen Socket zu generieren, benötigen Sie drei Variablen: ein Protokoll, einen Socket-Typ und einen öffentlichen Protokolltyp. Beim Generieren eines Sockets stehen drei Protokolle zur Auswahl. Lesen Sie weiter unten, um detaillierte Protokollinhalte zu erhalten.
Das Definieren eines öffentlichen Protokolltyps ist ein wesentliches Element für die Verbindung.
Lassen Sie uns mit einem einfachen Beispiel beginnen – einem empfangenden Eingabezeichen--String, der Verarbeitung und Rückgabe dieses -Strings zum TCP-Dienst des Clients. Der -Code lautet wie folgt:
<?php // 设置一些基本的变量 $host = "192.168.1.99"; $port = 1234; // 设置超时时间 set_time_limit(0); // 创建一个Socket $socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n"); //绑定Socket到端口 $result = socket_bind($socket, $host, $port) or die("Could not bind to socket\n"); // 开始监听链接 $result = socket_listen($socket, 3) or die("Could not set up socket listener\n"); // accept incoming connections // 另一个Socket来处理通信 $spawn = socket_accept($socket) or die("Could not accept incoming connection\n"); // 获得客户端的输入 $input = socket_read($spawn, 1024) or die("Could not read input\n"); // 清空输入字符串 $input = trim($input); //处理客户端输入并返回结果 $output = strrev($input) . "\n"; socket_write($spawn, $output, strlen ($output)) or die("Could not write output\n"); // 关闭sockets socket_close($spawn); socket_close($socket); ?>
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die PHP-Socket-Programmierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!