Spec-Zone.ru › Elisp

Параметры сети

При создании сетевого процесса можно указать следующие параметры сети. За исключением :reuseaddr, эти параметры также можно установить или изменить позже, используя set-network-process-option.

Для серверного процесса параметры, указанные с помощью make-network-process, не наследуются клиентскими подключениями, поэтому вам необходимо установить необходимые параметры для каждого дочернего подключения при его создании.

:bindtodevice имя-устройства

Если имя-устройства — это непустая строка, идентифицирующая имя сетевого интерфейса (см. network-interface-list), обрабатываются только пакеты, полученные на этом интерфейсе. Если имя-устройства — это nil (по умолчанию), обрабатываются пакеты, полученные на любом интерфейсе.

Использование этого параметра может потребовать специальных привилегий на некоторых системах.

:broadcast флаг-вещания

Если флаг-вещания не nil для процесса дейтаграмм, процесс будет получать пакеты дейтаграмм, отправленные на адрес вещания, и сможет отправлять пакеты на адрес вещания. Для потокового соединения этот параметр игнорируется.

:dontroute флаг-немаршрутизации

Если флаг-немаршрутизации не nil, процесс может отправлять данные только хостам в той же сети, что и локальный хост.

:keepalive флаг-поддержания-соединения

Если флаг-поддержания-соединения не nil для потокового соединения, включить обмен сообщениями низкого уровня для поддержания соединения.

:linger аргумент-ожидания

Если аргумент-ожидания не nil, дождаться успешной передачи всех очереди пакетов по подключению перед его удалением (см. delete-process). Если аргумент-ожидания — целое число, оно определяет максимальное время в секундах ожидания отправки очереди пакетов перед закрытием подключения. По умолчанию nil, что означает отбрасывание неосланных пакетов из очереди при удалении процесса.

:oobinline флаг-включения-внеполосных-данных

Если флаг-включения-внеполосных-данных не nil для потокового соединения, получать данные вне полосы в обычном потоке данных. В противном случае игнорировать данные вне полосы.

:priority приоритет

Установить приоритет пакетов, отправленных по этому подключению, на значение приоритет. Интерпретация этого числа зависит от протокола; например, установка поля TOS (тип сервиса) в пакетах IP, отправленных по этому подключению. Также может иметь системно-зависимые эффекты, такие как выбор определенной очереди вывода на сетевом интерфейсе.

:reuseaddr флаг-переиспользования-адреса

Если флаг-переиспользования-адреса не nil (по умолчанию) для серверного процесса потокового типа, разрешить этому серверу повторное использование определенного номера порта (см. :service), если другой процесс на этом хосте уже не прослушивает этот порт. Если флаг-переиспользования-адреса — nil, может быть период времени после последнего использования этого порта (любым процессом на хосте), когда невозможно создать новый сервер на этом порту.

Функция: set-network-process-option процесс параметр значение &опционально без-ошибки

Эта функция устанавливает или изменяет сетевой параметр для сетевого процесса процесс. Допускаемые параметры и значения такие же, как у make-network-process. Если без-ошибки не nil, эта функция возвращает nil вместо сигнализации об ошибке, если параметр не является поддерживаемым параметром. При успешном завершении функция возвращает t.

Текущее значение параметра доступно через функцию process-contact.

Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Network-Options.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API