PHP fsockopen()-Funktion: Alles, was Sie wissen müssen
Erfahren Sie, wie die PHP-Funktion fsockopen() Netzwerkverbindungen über TCP/IP aufbaut und wann Sie besser stream_socket_client() oder cURL nutzen.
Als PHP-Entwickler müssen Sie möglicherweise eine Netzwerkverbindung aufbauen und mit einem anderen Server über das TCP/IP-Protokoll kommunizieren. Die fsockopen() fsockopen() fsockopen() stream_socket_client() oder cURL zu verwenden. Dieser Artikel erklärt die veraltete Funktion zu Referenz- und Migrationszwecken.
Was ist die fsockopen()-Funktion?
Die fsockopen() Funktion öffnet eine TCP/IP-Netzwerkverbindung zu einem angegebenen Host und Port und ermöglicht es, Daten über Dateizeiger zu senden und zu empfangen.
Wie verwendet man die fsockopen()-Funktion?
Die Verwendung der fsockopen() Funktion ist unkompliziert. Hier ist die Syntax:
PHP-Syntax
fsockopen($hostname, $port, &$errno, &$errstr, $timeout);Die Funktion akzeptiert fünf Parameter:
$hostname: Der Hostname oder die IP-Adresse des Servers.$port: Die Portnummer, zu der eine Verbindung hergestellt werden soll.&$errno: Eine Variable, die die Fehlernummer speichert, falls vorhanden.&$errstr: Eine Variable, die die Fehlermeldung speichert, falls vorhanden.$timeoutfsockopen()default_socket_timeoutstream_socket_client()iniEinstellung, wenn weggelassen.
Hinweis: Für sichere Verbindungen stellen Sie dem Hostnamen
ssl://tls://tls://example.com) voran.
Hier ist ein Beispiel, wie die fsockopen() Funktion verwendet wird, um eine Netzwerkverbindung mit einem Server herzustellen und Daten zu senden/empfangen:
Anwendungsbeispiel
<?php
$host = "example.com";
$port = 80;
$timeout = 30;
$fp = fsockopen($host, $port, $errno, $errstr, $timeout);
if (!$fp) {
echo "Error: $errstr ($errno)<br/>";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: $host\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}In diesem Beispiel verwenden wir die fsockopen() fsockopen() example.com fgets() Funktion.
Hinweis: Für HTTPS-Anfragen verwenden Sie
tls://$hostVariable.
Fazit
Obwohl fsockopen() fsockopen() stream_socket_client() oder cURL für neue Projekte. Diese Referenz bleibt nützlich für die Pflege von Legacy-Codebasen.