<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.sockets.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ru',
  ),
  'this' => 
  array (
    0 => 'function.socket-get-option.php',
    1 => 'socket_get_option',
    2 => 'Получает опции потока для сокета',
  ),
  'up' => 
  array (
    0 => 'ref.sockets.php',
    1 => 'Функции модуля Socket',
  ),
  'prev' => 
  array (
    0 => 'function.socket-export-stream.php',
    1 => 'socket_export_stream',
  ),
  'next' => 
  array (
    0 => 'function.socket-getopt.php',
    1 => 'socket_getopt',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    'path' => 'reference/sockets/functions/socket-get-option.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.socket-get-option" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">socket_get_option</h1>
  <p class="verinfo">(PHP 4 &gt;= 4.3.0, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">socket_get_option</span> &mdash; <span class="dc-title">Получает опции потока для сокета</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.socket-get-option-description">
  <h3 class="title">Описание</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>socket_get_option</strong></span>(<span class="methodparam"><span class="type"><a href="class.socket.php" class="type Socket">Socket</a></span> <code class="parameter">$socket</code></span>, <span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$level</code></span>, <span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$option</code></span>): <span class="type"><span class="type"><a href="language.types.array.php" class="type array">array</a></span>|<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>|<span class="type"><a href="language.types.singleton.php" class="type false">false</a></span></span></div>

  <p class="para rdfs-comment">
   Функция <span class="function"><strong>socket_get_option()</strong></span> извлекает значение
   опции, которую определили для сокета <code class="parameter">socket</code>
   в параметре <code class="parameter">option</code>.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.socket-get-option-parameters">
  <h3 class="title">Список параметров</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">socket</code></dt>
     <dd>
      <p class="para">
       Экземпляр <span class="classname"><a href="class.socket.php" class="classname">Socket</a></span>, созданный с помощью <span class="function"><a href="function.socket-create.php" class="function">socket_create()</a></span>
       или <span class="function"><a href="function.socket-accept.php" class="function">socket_accept()</a></span>.
      </p>
     </dd>
    
    
     <dt><code class="parameter">level</code></dt>
     <dd>
      <p class="para">
       Параметр <code class="parameter">level</code> указывает уровень протокола, на
       котором находится опция. Например, для получения опций на уровне
       сокета, должен использовать параметр <code class="parameter">level</code>, равный
       <strong><code><a href="sockets.constants.php#constant.sol-socket">SOL_SOCKET</a></code></strong>. Другие уровни, такие как
       <strong><code>TCP</code></strong>, можно использовать, указав номер протокола
       этого уровня. Номера протоколов можно найти
       с помощью функции <span class="function"><a href="function.getprotobyname.php" class="function">getprotobyname()</a></span>.
      </p>
     </dd>
    
    
     <dt><code class="parameter">option</code></dt>
     <dd>
      <table class="doctable table">
       <caption><strong>Доступные опции сокета</strong></caption>
       
        <thead>
         <tr>
          <th>Опция</th>
          <th>Описание</th>
          <th>Тип</th>
         </tr>

        </thead>

        <tbody class="tbody">
         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.so-debug">SO_DEBUG</a></code></strong></td>
          <td>
           Сообщает, записывается ли отладочная информация.
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.so-broadcast">SO_BROADCAST</a></code></strong></td>
          <td>
           Сообщает, поддерживается ли передача широковещательных сообщений.
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.so-reuseaddr">SO_REUSEADDR</a></code></strong></td>
          <td>
           Сообщает, могут ли локальные адреса использоваться повторно.
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.so-reuseport">SO_REUSEPORT</a></code></strong></td>
          <td>
            Сообщает, могут ли локальные порты использоваться повторно.
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.so-keepalive">SO_KEEPALIVE</a></code></strong></td>
          <td>
           Сообщает, поддерживаются ли соединения с периодической передачей
           сообщений. Если подключённый сокет не отвечает на эти сообщения,
           подключение прерывается и процессы записи в этот сокет уведомляются
           сигналом SIGPIPE.
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.so-linger">SO_LINGER</a></code></strong></td>
          <td>
           <p class="para">
            Сообщает, будет ли <code class="parameter">socket</code> останавливаться
            на <span class="function"><a href="function.socket-close.php" class="function">socket_close()</a></span>, если данные присутствуют.
            По умолчанию, когда сокет закрыт, он попытается отправить все неотправленные
            данные. В случае сокета, ориентированного на подключение, <span class="function"><a href="function.socket-close.php" class="function">socket_close()</a></span>
            будет ожидать, пока его одноранговый узел подтвердит данные.
           </p>
           <p class="para">
            Если <var class="varname">l_onoff</var> отличен от нуля, а
            <var class="varname">l_linger</var> равно нулю, все неотправленные
            данные будут отброшены и RST (сброс) отправлен одноранговому узлу
            в случае сокета, ориентированного на подключение.
           </p>
           <p class="para">
            С другой стороны, если <var class="varname">l_onoff</var> и <var class="varname">l_linger</var>
            отличны от нуля, <span class="function"><a href="function.socket-close.php" class="function">socket_close()</a></span> будет блокироваться до тех пор,
            пока все данные не будут отправлены или если время, указанное в <var class="varname">l_linger</var>, не истечёт.
            Если сокет не блокируется, <span class="function"><a href="function.socket-close.php" class="function">socket_close()</a></span> потерпит неудачу и вернёт ошибку.
           </p>
          </td>
          <td>
           <span class="type"><a href="language.types.array.php" class="type array">array</a></span>. Массив будет содержать два ключа:
           <var class="varname">l_onoff</var> и
           <var class="varname">l_linger</var>.
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.so-oobinline">SO_OOBINLINE</a></code></strong></td>
          <td>
           Сообщает, выходит ли <code class="parameter">socket</code> из встроенных данных.
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.so-sndbuf">SO_SNDBUF</a></code></strong></td>
          <td>
           Сообщает размер отправленного буфера.
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.so-rcvbuf">SO_RCVBUF</a></code></strong></td>
          <td>
           Сообщает о размере полученного буфера.
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.so-error">SO_ERROR</a></code></strong></td>
          <td>
           Сообщает информацию о статусе ошибки и очищает её.
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> (не может быть установлен <span class="function"><a href="function.socket-set-option.php" class="function">socket_set_option()</a></span>)
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.so-type">SO_TYPE</a></code></strong></td>
          <td>
           Сообщает о типе <code class="parameter">socket</code> (например,
           <strong><code><a href="sockets.constants.php#constant.sock-stream">SOCK_STREAM</a></code></strong>).
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> (не может быть установлен <span class="function"><a href="function.socket-set-option.php" class="function">socket_set_option()</a></span>)
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.so-dontroute">SO_DONTROUTE</a></code></strong></td>
          <td>
           Сообщает, что исходящие сообщения обходят стандартные средства маршрутизации.
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.so-rcvlowat">SO_RCVLOWAT</a></code></strong></td>
          <td>
           Сообщает минимальное количество байтов для обработки операций ввода <code class="parameter">socket</code>.
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.so-rcvtimeo">SO_RCVTIMEO</a></code></strong></td>
          <td>
           Сообщает значение времени ожидания для операций ввода.
          </td>
          <td>
           <span class="type"><a href="language.types.array.php" class="type array">array</a></span>. Массив будет содержать два ключа:
           <var class="varname">sec</var>, который является частью секунд для значения времени ожидания
           и <var class="varname">usec</var>, который является микросекундной частью значения времени ожидания.
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.so-sndtimeo">SO_SNDTIMEO</a></code></strong></td>
          <td>
           Сообщает значение времени ожидания, указывающее количество времени, которое блокирует функция вывода,
           поскольку управление потоком предотвращает отправку данных.
          </td>
          <td>
           <span class="type"><a href="language.types.array.php" class="type array">array</a></span>. Массив будет содержать два ключа:
           <var class="varname">sec</var>, который является частью секунд для значения времени ожидания
           и <var class="varname">usec</var>, который является микросекундной частью значения времени ожидания.
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.so-sndlowat">SO_SNDLOWAT</a></code></strong></td>
          <td>
           Сообщает минимальное количество байтов для обработки операцией вывода <code class="parameter">socket</code>.
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.tcp-nodelay">TCP_NODELAY</a></code></strong></td>
          <td>
           Сообщает, отключён ли алгоритм Nagle TCP.
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.mcast-join-group">MCAST_JOIN_GROUP</a></code></strong></td>
          <td>
           Присоединяется к многоадресной группе.
          </td>
          <td>
           массив (<span class="type"><a href="language.types.array.php" class="type array">array</a></span>) с ключами <code class="literal">&quot;group&quot;</code>, указав
           строку (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>) с многоадресным адресом IPv4 или IPv6
           и <code class="literal">&quot;interface&quot;</code>, указав либо номер интерфейса (тип <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>),
           либо строку (<code class="literal">string</code>) с именем интерфейса, например <code class="literal">&quot;eth0&quot;</code>.
           <code class="literal">0</code> можно указать, чтобы сообщить, что интерфейс должен быть выбран с использованием правил маршрутизации.
           (может использоваться только в <span class="function"><a href="function.socket-set-option.php" class="function">socket_set_option()</a></span>)
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.mcast-leave-group">MCAST_LEAVE_GROUP</a></code></strong></td>
          <td>
           Оставляет многоадресную группу.
          </td>
          <td>
           массив (<span class="type"><a href="language.types.array.php" class="type array">array</a></span>). Смотрите <strong><code><a href="sockets.constants.php#constant.mcast-join-group">MCAST_JOIN_GROUP</a></code></strong> для получения
           дополнительной информации. (может использоваться только в
           <span class="function"><a href="function.socket-set-option.php" class="function">socket_set_option()</a></span>)
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.mcast-block-source">MCAST_BLOCK_SOURCE</a></code></strong></td>
          <td>
           Блокирует пакеты, поступающие из определённого источника
           в определённую группу многоадресной передачи,
           которые должны быть предварительно соединены.
          </td>
          <td>
           массив (<span class="type"><a href="language.types.array.php" class="type array">array</a></span>) с такими же ключами, как у
           <strong><code><a href="sockets.constants.php#constant.mcast-join-group">MCAST_JOIN_GROUP</a></code></strong>, плюс один дополнительный ключ,
           <code class="literal">source</code>, который представляет строку (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>),
           указывающую адрес IPv4 или IPv6 источника, который должен быть заблокирован.
           (может использоваться только в <span class="function"><a href="function.socket-set-option.php" class="function">socket_set_option()</a></span>)
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.mcast-unblock-source">MCAST_UNBLOCK_SOURCE</a></code></strong></td>
          <td>
           Разблокирует (начинает приём снова) пакеты, поступающие с определённого
           исходного адреса в определённую группу многоадресной передачи,
           которая должна предварительно соединена.
          </td>
          <td>
           массив (<span class="type"><a href="language.types.array.php" class="type array">array</a></span>) с таким же форматом, как у
           <strong><code><a href="sockets.constants.php#constant.mcast-block-source">MCAST_BLOCK_SOURCE</a></code></strong>.
           (может использоваться только в <span class="function"><a href="function.socket-set-option.php" class="function">socket_set_option()</a></span>)
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.mcast-join-source-group">MCAST_JOIN_SOURCE_GROUP</a></code></strong></td>
          <td>
           Получать пакеты, предназначенные для конкретной группы многоадресной передачи,
           исходный адрес которого совпадает определённому значению.
          </td>
          <td>
           массив (<span class="type"><a href="language.types.array.php" class="type array">array</a></span>) с тем же самым форматом, что у
           <strong><code><a href="sockets.constants.php#constant.mcast-block-source">MCAST_BLOCK_SOURCE</a></code></strong>.
           (может использоваться только в <span class="function"><a href="function.socket-set-option.php" class="function">socket_set_option()</a></span>)
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.mcast-leave-source-group">MCAST_LEAVE_SOURCE_GROUP</a></code></strong></td>
          <td>
           Остановить приём пакетов, предназначенных для конкретной группы многоадресной передачи,
           исходный адрес которого совпадает определённому значению.
          </td>
          <td>
           массив (<span class="type"><a href="language.types.array.php" class="type array">array</a></span>) с тем же самым форматом, что у
           <strong><code><a href="sockets.constants.php#constant.mcast-block-source">MCAST_BLOCK_SOURCE</a></code></strong>.
           (может использоваться только в <span class="function"><a href="function.socket-set-option.php" class="function">socket_set_option()</a></span>)
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.ip-multicast-if">IP_MULTICAST_IF</a></code></strong></td>
          <td>
           Исходящий интерфейс для многоадресных пакетов IPv4.
          </td>
          <td>
           Любое целое число (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>), указывающее номер интерфейса или
           строку (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>) с именем интерфейса, например,
           <code class="literal">eth0</code>. Значение <span class="type">0</span> может использоваться
           для указания, что таблица маршрутизации используется для выбора интерфейса.
           Функция <span class="function"><strong>socket_get_option()</strong></span> возвращает индекс
           интерфейса.
           Обратите внимание, что в отличие от C API, эта опция НЕ принимает IP-адрес.
           Это устраняет разницу в интерфейсе между
           <strong><code><a href="sockets.constants.php#constant.ip-multicast-if">IP_MULTICAST_IF</a></code></strong> и <strong><code><a href="sockets.constants.php#constant.ipv6-multicast-if">IPV6_MULTICAST_IF</a></code></strong>.
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.ipv6-multicast-if">IPV6_MULTICAST_IF</a></code></strong></td>
          <td>
           Исходящий интерфейс для многоадресных пакетов IPv6.
          </td>
          <td>
           То же, что и <strong><code><a href="sockets.constants.php#constant.ip-multicast-if">IP_MULTICAST_IF</a></code></strong>.
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.ip-multicast-loop">IP_MULTICAST_LOOP</a></code></strong></td>
          <td>
           Политика петли групповой передачи для пакетов IPv4 включает или отключает
           передачу исходящих многоадресных рассылок, которые должны быть предварительно присоединены.
           Эффект, однако, различается, в зависимости от применения в Unix или Windows:
           в первом случае на пути получения, а во втором - на пути отправки.
          </td>
          <td>
           целое число (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>) (либо <code class="literal">0</code>, либо
           <code class="literal">1</code>). Для <span class="function"><a href="function.socket-set-option.php" class="function">socket_set_option()</a></span>
           любое значение будет принято и преобразовано в тип boolean,
           согласно обычным правилам PHP.
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.ipv6-multicast-loop">IPV6_MULTICAST_LOOP</a></code></strong></td>
          <td>
           Аналогично <strong><code><a href="sockets.constants.php#constant.ip-multicast-loop">IP_MULTICAST_LOOP</a></code></strong>, но для IPv6.
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>. See <strong><code><a href="sockets.constants.php#constant.ip-multicast-loop">IP_MULTICAST_LOOP</a></code></strong>.
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.ip-multicast-ttl">IP_MULTICAST_TTL</a></code></strong></td>
          <td>
           Время ожидания исходящих пакетов IPv4 для
           многоадресной передачи. Это должно быть значение между
           0 (не оставлять интерфейс) и 255. Значение по умолчанию - 1
           (достигается только локальная сеть).
          </td>
          <td>
           целое число (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>) между 0 и 255.
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.ipv6-multicast-hops">IPV6_MULTICAST_HOPS</a></code></strong></td>
          <td>
           Аналогично <strong><code><a href="sockets.constants.php#constant.ip-multicast-ttl">IP_MULTICAST_TTL</a></code></strong>, но для пакетов IPv6.
           Значение -1 также принимается, что означает использование маршрута по умолчанию.
          </td>
          <td>
           целое число (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>) между 0 и 255.
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.so-mark">SO_MARK</a></code></strong></td>
          <td>
           Устанавливает идентификатор сокета для фильтрации пакетов в Linux.
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.so-acceptfilter">SO_ACCEPTFILTER</a></code></strong></td>
          <td>
           Добавляет фильтр приёма на прослушиваемый сокет (FreeBSD/NetBSD).
           Модуль ядра фильтра приёма должен быть предварительно
           загружен в FreeBSD (например, accf_http).
          </td>
          <td>
           Строка (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>) имя фильтра (длина не более 15).
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.so-user-cookie">SO_USER_COOKIE</a></code></strong></td>
          <td>
           Устанавливает идентификатор сокета для фильтрации пакетов в FreeBSD.
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.so-rtable">SO_RTABLE</a></code></strong></td>
          <td>
           Устанавливает идентификатор сокета
           для фильтрации пакетов в OpenBSD.
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.so-donttrunc">SO_DONTTRUNC</a></code></strong></td>
          <td>
           Сохраняет непрочитанные данные.
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.so-wantmore">SO_WANTMORE</a></code></strong></td>
          <td>
           Подсказывает, когда будет доступно больше данных.
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.tcp-defer-accept">TCP_DEFER_ACCEPT</a></code></strong></td>
          <td>
           Не уведомляет слушающий сокет, пока данные не будут готовы.
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.so-incoming-cpu">SO_INCOMING_CPU</a></code></strong></td>
          <td>
           Получает/устанавливает сродство к процессору для сокета.
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.so-meminfo">SO_MEMINFO</a></code></strong></td>
          <td>
           Получает meminfo сокета.
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.so-bpf-extensions">SO_BPF_EXTENSIONS</a></code></strong></td>
          <td>
           Получает поддерживаемые ядром модули BPF для присоединения к сокету.
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.so-setfib">SO_SETFIB</a></code></strong></td>
          <td>
           Устанавливает таблицу маршрутизации (FIB) сокета (только FreeBSD).
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.sol-filter">SOL_FILTER</a></code></strong></td>
          <td>
           Фильтры, приписываемые сокету (только для Solaris/Illumos).
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.tcp-keepcnt">TCP_KEEPCNT</a></code></strong></td>
          <td>
           Устанавливает максимальное количество зондов keepalive,
           которые TCP должен отправить перед разрывом соединения.
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.tcp-keepidle">TCP_KEEPIDLE</a></code></strong></td>
          <td>
           Устанавливает время, в течение которого соединение должно простаивать.
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.tcp-keepintvl">TCP_KEEPINTVL</a></code></strong></td>
          <td>
           Устанавливает время между отдельными зондами keepalive.
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.tcp-keepalive">TCP_KEEPALIVE</a></code></strong></td>
          <td>
           Устанавливает время, в течение которого соединение должно простаивать (только для macOS).
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
          </td>
         </tr>

         <tr>
          <td><strong><code><a href="sockets.constants.php#constant.tcp-notsent-lowat">TCP_NOTSENT_LOWAT</a></code></strong></td>
          <td>
           Устанавливает предельное количество неотправленных данных в очереди на запись потоком сокета (только для Linux).
          </td>
          <td>
           <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
          </td>
         </tr>

        </tbody>
       
      </table>

     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.socket-get-option-returnvalues">
  <h3 class="title">Возвращаемые значения</h3>
  <p class="para">
   Возвращает значение заданной опции или <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>, если возникла ошибка.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.socket-get-option-changelog">
  <h3 class="title">Список изменений</h3>
  <table class="doctable informaltable">
   
    <thead>
     <tr>
      <th>Версия</th>
      <th>Описание</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
  <td>8.0.0</td>
  <td>
   Параметр <code class="parameter">socket</code> теперь принимает объект <span class="classname"><a href="class.socket.php" class="classname">Socket</a></span>;
   раньше принимался тип <span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span>.
  </td>
 </tr>

    </tbody>
   
  </table>

 </div>


 <div class="refsect1 examples" id="refsect1-function.socket-get-option-examples">
  <h3 class="title">Примеры</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Пример #1 Пример использования <span class="function"><strong>socket_get_option()</strong></span></strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$socket </span><span style="color: #007700">= </span><span style="color: #0000BB">socket_create_listen</span><span style="color: #007700">(</span><span style="color: #0000BB">1223</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$linger </span><span style="color: #007700">= array(</span><span style="color: #DD0000">'l_linger' </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #DD0000">'l_onoff' </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">1</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">socket_set_option</span><span style="color: #007700">(</span><span style="color: #0000BB">$socket</span><span style="color: #007700">, </span><span style="color: #0000BB">SOL_SOCKET</span><span style="color: #007700">, </span><span style="color: #0000BB">SO_LINGER</span><span style="color: #007700">, </span><span style="color: #0000BB">$linger</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">socket_get_option</span><span style="color: #007700">(</span><span style="color: #0000BB">$socket</span><span style="color: #007700">, </span><span style="color: #0000BB">SOL_SOCKET</span><span style="color: #007700">, </span><span style="color: #0000BB">SO_REUSEADDR</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.socket-get-option-seealso">
  <h3 class="title">Смотрите также</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.socket-create-listen.php" class="function" rel="rdfs-seeAlso">socket_create_listen()</a> - Открывает сокет на заданном порте для принятия соединений</span></li>
    <li><span class="function"><a href="function.socket-set-option.php" class="function" rel="rdfs-seeAlso">socket_set_option()</a> - Устанавливает опции для сокета</span></li>
   </ul>
  </p>
 </div>


</div><?php manual_footer($setup); ?>