Прочитать на английском

Поделиться через


SocketOptionName Перечисление

Определение

Определяет имена параметров конфигурации.

C#
public enum SocketOptionName
Наследование
SocketOptionName

Поля

Имя Значение Описание
AcceptConnection 2

Сокет прослушивается.

AddMembership 12

Добавление членства в группе IP-адресов.

AddSourceMembership 15

Присоединение к исходной группе.

BlockSource 17

Блокировать данные из источника.

Broadcast 32

Разрешить отправку широковещательных сообщений в сокет.

BsdUrgent 2

Используйте срочные данные, определенные в RFC-1222. Этот параметр можно задать только один раз; После установки его нельзя отключить.

ChecksumCoverage 20

Задайте или получите покрытие контрольной суммы UDP.

Debug 1

Запись сведений об отладке.

DontFragment 14

Не фрагментировать IP-диаграммы данных.

DontLinger -129

Закройте сокет аккуратно, не задерживаясь.

DontRoute 16

Не маршрутизировать; отправьте пакет непосредственно в адреса интерфейса.

DropMembership 13

Удаление членства в группе IP-адресов.

DropSourceMembership 16

Удалите исходную группу.

Error 4103

Возвращает состояние ошибки и очищает его.

ExclusiveAddressUse -5

Позволяет привязать сокет к эксклюзивному доступу.

Expedited 2

Используйте ускоренную обработку данных, как определено в RFC-1222. Этот параметр можно задать только один раз; После установки его нельзя отключить.

FastOpen 15

Включает tcp Fast Open, как определено в RFC-7413. Фактическое наблюдаемое поведение зависит от конфигурации ОС и состояния кэша tcp-файлов cookie ядра. Включение TFO может повлиять на взаимодействие и вызвать проблемы с подключением.

HeaderIncluded 2

Указывает, что приложение предоставляет IP-заголовок для исходящих диаграмм данных.

HopLimit 21

Указывает максимальное количество прыжков маршрутизатора для пакета протокола Интернета 6 (IPv6). Это аналогично времени жизни (TTL) для Протокола Интернета версии 4.

IPOptions 1

Указывает параметры IP-адресов, которые необходимо вставить в исходящие диаграммы данных.

IPProtectionLevel 23

Разрешает ограничение сокета IPv6 в указанную область, например адреса с тем же локальным или локальным префиксом сайта. Этот параметр сокета позволяет приложениям размещать ограничения доступа к сокетам IPv6. Такие ограничения позволяют приложению, работающему в частной локальной сети, просто и надежно защищать себя от внешних атак. Этот параметр сокета расширяет или ограничивает область прослушивания сокета, обеспечивая неограниченный доступ от общедоступных и частных пользователей, если это необходимо, или ограничивает доступ только к тому же сайту, как это необходимо. Этот параметр сокета определил уровни защиты, указанные в перечислении IPProtectionLevel.

IpTimeToLive 4

Задайте поле заголовка IP-адресов time-to-Live.

IPv6Only 27

Указывает, что сокет, созданный для семейства адресов AF_INET6, ограничен только данными IPv6. Сокеты, созданные для семейства адресов AF_INET6, могут использоваться для обмена данными IPv6 и IPv4. Некоторым приложениям может потребоваться ограничить использование сокета, созданного для семейства адресов AF_INET6 только для связи IPv6. Если это значение не равно нулю (по умолчанию в Windows), сокет, созданный для семейства адресов AF_INET6, можно использовать только для отправки и получения пакетов IPv6. Если это значение равно нулю, сокет, созданный для семейства адресов AF_INET6, можно использовать для отправки и получения пакетов в IPv6-адрес или IPv4-адрес. Обратите внимание, что возможность взаимодействия с IPv4-адресом требует использования сопоставленных адресов IPv4. Этот параметр сокета поддерживается в Windows Vista или более поздней версии.

KeepAlive 8

Используйте оставить в живых.

Linger 128

Linger on close, если неотступные данные присутствуют.

MaxConnections 2147483647

Не поддерживается; вызовет SocketException, если используется.

MulticastInterface 9

Задайте интерфейс для исходящих пакетов многоадресной рассылки.

MulticastLoopback 11

Обратный цикл многоадресной рассылки IP-адресов.

MulticastTimeToLive 10

Время многоадресной рассылки IP-адресов.

NoChecksum 1

Отправка диаграмм данных UDP с контрольной суммой, установленной на нулю.

NoDelay 1

Отключает алгоритм Nagle для отправки объединения.

OutOfBandInline 256

Получает данные вне диапазона в обычном потоке данных.

PacketInformation 19

Возвращает сведения о полученных пакетах.

ReceiveBuffer 4098

Указывает общее пространство буфера для каждого сокета, зарезервированное для получения. Это не связано с максимальным размером сообщения или размером окна TCP.

ReceiveLowWater 4100

Указывает низкую метку воды для Receive операций.

ReceiveTimeout 4102

Получение времени ожидания. Этот параметр применяется только к синхронным методам; он не влияет на асинхронные методы, такие как метод BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object).

ReuseAddress 4

Позволяет связать сокет с адресом, который уже используется.

ReuseUnicastPort 12295

Указывает, что система должна отложить распределение временных портов для исходящих подключений. Это эквивалентно использованию параметра сокета Winsock2 SO_REUSE_UNICASTPORT.

SendBuffer 4097

Указывает общее пространство буфера для каждого сокета, зарезервированное для отправки. Это не связано с максимальным размером сообщения или размером окна TCP.

SendLowWater 4099

Указывает низкую метку воды для Send операций.

SendTimeout 4101

Отправка времени ожидания. Этот параметр применяется только к синхронным методам; он не влияет на асинхронные методы, такие как метод BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object).

TcpKeepAliveInterval 17

Количество секунд, в течение которых TCP-подключение будет ожидать сохраняемого ответа, прежде чем отправлять другую пробу хранения.

TcpKeepAliveRetryCount 16

Количество сеансов TCP, которые будут отправляться до завершения подключения.

TcpKeepAliveTime 3

Количество секунд, в течение которых TCP-подключение будет оставаться в состоянии активности или простоя, прежде чем пробы хранения отправляются в удаленный.

Type 4104

Возвращает тип сокета.

TypeOfService 3

Измените тип заголовка IP-адреса поля службы.

UnblockSource 18

Разблокируйте ранее заблокированный источник.

UpdateAcceptContext 28683

Обновляет свойства принятого сокета с помощью существующих сокетов. Это эквивалентно использованию параметра сокета Winsock2 SO_UPDATE_ACCEPT_CONTEXT и поддерживается только в сокетах, ориентированных на подключение.

UpdateConnectContext 28688

Обновляет свойства подключенного сокета с помощью существующих сокетов. Это эквивалентно использованию параметра сокета Winsock2 SO_UPDATE_CONNECT_CONTEXT и поддерживается только в сокетах, ориентированных на подключение.

UseLoopback 64

Обходить оборудование, когда это возможно.

Примеры

В следующем примере кода используется это перечисление для задания параметров сокета.

C#
// The socket will linger for 10 seconds after Socket.Close is called.
var lingerOption = new LingerOption(true, 10);
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption);

Комментарии

Перечисление SocketOptionName определяет имя каждого параметра конфигурации Socket. Сокеты можно настроить с помощью метода Socket.SetSocketOption.

Применяется к

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1

См. также раздел