Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Einführung in die PHP-Socket-Programmierung

Detaillierte Einführung in die PHP-Socket-Programmierung

怪我咯
怪我咯Original
2017-07-12 10:58:502668Durchsuche

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!

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