English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Die Funktion fsockopen() öffnet eine Netzwerkverbindung oder eine Unix-Socket-Verbindung.
resource fsockopen ( string $hostname [, int $port = -1 [, int &$errno [[, string &$errstr [[, float $timeout = ini_get("default_socket_timeout") ]]]]] )
Es wird verwendet, um Internet- oder Unix-Domainsocket-Verbindungen zu öffnen.
Eine Socket-Verbindung zu einem bestimmten Hostname (hostname) initialisieren.
PHP unterstützt die folgenden Liste der Socket-Transport-Typen. Die Liste der unterstützten Socket-Transports (Socket Transports) kann auch durch stream_get_transports() abgerufen werden.
Standardmäßig wird die Socket-Verbindung im blockierenden Modus geöffnet. Natürlich können Sie sie durch stream_set_blocking() in den nicht-blockierenden Modus umwandeln.
stream_socket_client() ist sehr ähnlich und bietet eine umfassendere Parameterkonfiguration, einschließlich nicht-blockierender Modus und Kontexteinstellungen.
fsockopen() gibt einen Dateihandle zurück, der später von anderen Dateifunktionen aufgerufen werden kann (z.B.: fgets(), fgetss(), fwrite(), fclose() und feof()). Erfolgt der Aufruf fehlgeschlagen, wird FALSE zurückgegeben.
Hinweis: Wenn der Host (hostname) nicht erreichbar ist, wird eine Warnungsebene (E_WARNING)-Fehlermeldung ausgelöst.
Nummer | Parameter und Beschreibung |
---|---|
1 | hostname Wenn OpenSSL installiert ist, sollten Sie möglicherweise das Protokoll ssl: vor Ihrer Hostnamensadresse hinzufügen.//oder tls://,kann daher eine TCP-basierte/SSL oder TLS-Clientverbindung zum Remotehost über das IP-Protokoll hergestellt wird. |
2 | port Portnummer. Wenn diesem Parameter ein-1,daher wird kein Port verwendet, z.B. unix://. |
3 | errno Speichern Sie die Systemfehlernummer, die während des Systemaufrufs connect() aufgerufen wird. |
4 | errstr Fehlermeldungen werden als Zeichenfolgeninformationen zurückgegeben. |
5 | timeout Setzen Sie die Verbindungsdauer ein, die in Sekunden angegeben wird. |
Probieren Sie den folgenden Beispiel
<?php $connection = fsockopen("www.w"3codebox.com", 80, $errno, $errstr, 30); if (!$connection) { echo "$errstr ($errno" \n" } else { $out = "GET" / HTTP/1.1\r\n" $out .= "Host: www.w"3codebox.com\r\n"; $out .= "Connection: Close\r\n\r\n"; fwrite($connection, $out); while (!feof($connection)) { echo fgets($connection, 128); } fclose($connection); } ?>
Öffnen Sie die Beispielverbindung