Следующие сетевые параметры могут быть указаны при создании
сетевого процесса. За исключением :reuseaddr, вы также можете установить или
изменить эти параметры позже, используя set-network-process-option.
Для серверного процесса параметры, указанные с
make-network-process, не наследуются клиентскими
соединениями, поэтому вам потребуется установить необходимые параметры для каждого
дочернего соединения по мере его создания.
:bindtodevice device-nameЕсли device-name — это непустая строка, идентифицирующая имя сетевого
интерфейса (см. network-interface-list), обрабатываются только
пакеты, полученные на этом интерфейсе. Если device-name равно nil
(по умолчанию), обрабатываются пакеты, полученные на любом интерфейсе.
Использование этого параметра может потребовать специальных привилегий в некоторых системах.
:broadcast broadcast-flagЕсли broadcast-flag не равно nil для процесса
датаграмм, процесс будет принимать датаграммы, отправленные на широковещательный адрес, и
сможет отправлять пакеты на широковещательный адрес. Это игнорируется для
потокового соединения.
:dontroute dontroute-flagЕсли dontroute-flag не равно nil, процесс может отправлять
данные только хостам в той же сети, что и локальный хост.
:keepalive keepalive-flagЕсли keepalive-flag не равно nil для потокового
соединения, включается обмен низкоуровневыми сообщениями поддержания соединения.
:linger linger-argЕсли linger-arg не равно nil, ожидается успешная
передача всех отложенных пакетов в соединении перед его удалением (см. delete-process).
Если linger-arg — целое число, оно указывает максимальное время в секундах,
в течение которого ожидается отправка отложенных пакетов перед закрытием соединения.
По умолчанию nil, что означает отбрасывание не отправленных отложенных
пакетов при удалении процесса.
:oobinline oobinline-flagЕсли oobinline-flag не равно nil для потокового
соединения, нетекущие данные принимаются в обычном потоке данных. В противном случае
нетекущие данные игнорируются.
:priority priorityУстановите приоритет для пакетов, отправляемых по этому соединению, равным целому числу priority. Интерпретация этого числа зависит от протокола; например, установка поля TOS (тип обслуживания) в IP-пакетах, отправляемых по этому соединению. Это также может иметь системные эффекты, такие как выбор определенной выходной очереди на сетевом интерфейсе.
:reuseaddr reuseaddr-flagЕсли reuseaddr-flag не равно nil (по умолчанию) для
серверного потокового процесса, разрешается этому серверу повторно использовать определенный
номер порта (см. :service), если только другой процесс на этом хосте
не прослушивает этот порт. Если reuseaddr-flag равно nil,
может быть период времени после последнего использования этого порта (любым процессом на
хосте), когда невозможно создать новый сервер на этом порту.
Эта функция устанавливает или изменяет сетевой параметр для сетевого процесса
process. Принимаемые параметры и значения такие же, как для
make-network-process. Если no-error не равно nil,
эта функция возвращает nil вместо сигнализации об ошибке, если
option не является поддерживаемым параметром. Если функция успешно
завершается, она возвращает t.
Текущее значение параметра доступно через функцию
process-contact.