W3docs

Функция PHP fsockopen(): всё, что нужно знать

Как PHP-разработчику вам может потребоваться установить сетевое соединение и взаимодействовать с другим сервером по протоколу TCP/IP. В таких случаях используется PHP

Как PHP-разработчику вам может потребоваться установить сетевое соединение и взаимодействовать с другим сервером по протоколу TCP/IP. Функция fsockopen() fsockopen() fsockopen() stream_socket_client() или cURL. В этой статье устаревшая функция рассматривается в справочных целях и для помощи при миграции кода.

Что такое функция fsockopen()?

Функция fsockopen() открывает сетевое соединение TCP/IP с указанным хостом и портом, позволяя отправлять и получать данные через файловые указатели.

Как использовать функцию fsockopen()

Использование функции fsockopen() достаточно простое. Вот её синтаксис:

Синтаксис PHP

fsockopen($hostname, $port, &$errno, &$errstr, $timeout);

Функция принимает пять параметров:

  • $hostname : Имя хоста или IP-адрес сервера.
  • $port : Номер порта для подключения.
  • &$errno : Переменная, в которой хранится номер ошибки (если есть).
  • &$errstr : Переменная, в которой хранится сообщение об ошибке (если есть).
  • $timeout fsockopen() default_socket_timeout stream_socket_client() ini setting if omitted.

Примечание: Для защищённых соединений добавьте к имени хоста префикс ssl:// или tls:// (например, tls://example.com ).

Вот пример использования функции fsockopen() для установки сетевого соединения с сервером и отправки/получения данных:

Пример использования

<?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);
}

В этом примере мы используем функцию fsockopen() fsockopen() example.com с помощью функции fgets() .

Примечание: Для HTTPS-запросов используйте tls:// в качестве префикса перед переменной $host .

Заключение

Хотя функция fsockopen() fsockopen() stream_socket_client() или cURL для новых проектов. Данный справочный материал полезен при поддержке устаревших кодовых баз.

Практика

Практика
Что делает функция fsockopen в PHP?
Что делает функция fsockopen в PHP?
Was this page helpful?