English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP Grundanleitung

PHP Fortgeschrittene Anleitung

PHP & MySQL

PHP Referenzhandbuch

Anwendung und Beispiel der Funktion fsockopen() in PHP

PHP HTTP Referenzhandbuch

Die Funktion fsockopen() öffnet eine Netzwerkverbindung oder eine Unix-Socket-Verbindung.

Syntax

resource fsockopen ( string $hostname [, int $port = -1 [, int &$errno [[, string &$errstr [[, float $timeout = ini_get("default_socket_timeout") ]]]]] )

Definition und Verwendung

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.

Rückgabewert

 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.

Parameter

NummerParameter 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. 

Online-Beispiel

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

PHP HTTP Referenzhandbuch