П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 186772 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 88654 раз(а).

Учебник HTML.
Просмотров 80100 раз(а).

Руководство по PHP5.
Просмотров 50527 раз(а).

Хостинг через призму DNS.
Просмотров 58382 раз(а).

Подборка текстов стандартных документов.
Просмотров 49446 раз(а).

Учебник PHP - Самоучитель
Просмотров 56318 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 57799 раз(а).

Внешние атаки...
Просмотров 47223 раз(а).

Учебник PHP.
Просмотров 41330 раз(а).

SSI в примерах.
Просмотров 31673 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Учебник РНР
Назад Вперёд

fsockopen

(PHP 3, PHP 4)

fsockopen - открывает сокет соединения домена Internet или Unix.

Описание

int fsockopen (string hostname, int port [, int errno [, string errstr [, float timeout]]])

Инициирует поточное соединение в домене Internet (AF_INET, используя TCP или UDP) или Unix (AF_UNIX). Для домена Internet открывает сокет соединения TCP с hostname через порт port.
hostname может быть в этом случае либо полным квалифицированным именем домена, либо IP-адресом. Для UDP необходимо явно специфицировать протокол путём добавления к hostname префикса 'udp://'.
Для домена Unix - hostname будет использоваться как путь к сокету , port обязан быть установлен 0 в этом случае. Необязательный timeout может использоваться для установки таймаута в секундах для системного вызова connect.

В PHP 4.3.0, если вы скомпилируете с поддержкой OpenSSL, вы сможете вводить для hostname префикс 'ssl://' или 'tls://', для использования SSL, или соединение TLS-клиента через TCP/IP для подключения к удалённому хосту.

fsockopen() возвращает указатель файла, который может использоваться другими функциями (такими как fgets(), fgetss(), fputs(), fclose() и feof()).

Если вызов терпит неудачу, возвращается FALSE и, если необязательные аргументы errno и errstr имеются, они получат установки, указывающие фактический уровень системной ошибки, возникшей при вызове connect() системного уровня. Если в errno возвращено значение 0 и функция возвращает FALSE, это указывает на то, что ошибка возникла до вызова connect(). Вероятнее всего это произошло из-за проблем инициализации сокета. Заметьте, что аргументы errno и errstr всегда будут передаваться по ссылке.

В зависимости от окружения, домен Unix или необязательный таймаут соединения могут быть недоступны.

Сокет может быть по умолчанию открыт в блокирующем/blocking режиме. Вы можете переключиться в не-блокирующий режим с помощью socket_set_blocking().
Пример 1. fsockopen()
<?php
$fp = fsockopen ("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br>\n";
} else {
    fputs ($fp, "GET / HTTP/1.0\r\nHost: www.example.com\r\n\r\n");
    while (!feof($fp)) {
        echo fgets ($fp,128);
    }
    fclose ($fp);
}
?>

Следующий пример показывает, как запросить день и время из "daytime" (port 13) UDP-сервиса на вашей собственной машине.

Пример 2. Использование UDP-соединения
<?php
$fp = fsockopen("udp://127.0.0.1", 13, $errno, $errstr);
if (!$fp) {
    echo "ERROR: $errno - $errstr<br>\n";
} else {
    fwrite($fp,"\n");
    echo fread($fp, 26);
    fclose($fp);
}
?>

Примечание: параметр timeout был введён в PHP 3.0.9, поддержка UDP была добавлена в PHP 4.

См. также pfsockopen(), socket_set_blocking(), socket_set_timeout(), fgets(), fgetss(), fputs(), fclose(), feof() и расширение Curl.

Назад Оглавление Вперёд
define_syslog_variables Вверхgethostbyaddr


Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту: