Параметры сети
При создании сетевого процесса можно указать следующие параметры сети. За исключением :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