SocketOptionName Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет имена параметров конфигурации.
public enum class SocketOptionName
public enum SocketOptionName
type SocketOptionName =
Public Enum SocketOptionName
- Наследование
Поля
| Имя | Значение | Описание |
|---|---|---|
| DontLinger | -129 | Закройте сокет аккуратно, не задерживаясь. |
| ExclusiveAddressUse | -5 | Позволяет привязать сокет к эксклюзивному доступу. |
| Debug | 1 | Записать отладочную информацию. |
| IPOptions | 1 | Указывает параметры IP-адресов, которые необходимо вставить в исходящие диаграммы данных. |
| NoChecksum | 1 | Отправка диаграмм данных UDP с контрольной суммой, установленной на нулю. |
| NoDelay | 1 | Отключить алгоритм Nagle для отправки объединенных пакетов. |
| AcceptConnection | 2 | Сокет прослушивается. |
| BsdUrgent | 2 | Используйте срочные данные, определенные в RFC-1222. Этот параметр можно задать только один раз; После установки его нельзя отключить. |
| Expedited | 2 | Используйте ускоренную обработку данных, как определено в RFC-1222. Этот параметр можно задать только один раз; После установки его нельзя отключить. |
| HeaderIncluded | 2 | Указывает, что приложение предоставляет IP-заголовок для исходящих диаграмм данных. |
| TcpKeepAliveTime | 3 | Количество секунд, в течение которых TCP-подключение будет оставаться в состоянии активности или простоя, прежде чем пробы хранения отправляются в удаленный. |
| TypeOfService | 3 | Измените тип заголовка IP-адреса поля службы. |
| IpTimeToLive | 4 | Задайте поле заголовка IP-адресов time-to-Live. |
| ReuseAddress | 4 | Позволяет связать сокет с адресом, который уже используется. |
| KeepAlive | 8 | Используйте оставить в живых. |
| MulticastInterface | 9 | Задайте интерфейс для исходящих пакетов многоадресной рассылки. |
| MulticastTimeToLive | 10 | Время многоадресной рассылки IP-адресов. |
| MulticastLoopback | 11 | Обратный цикл многоадресной рассылки IP-адресов. |
| AddMembership | 12 | Добавление членства в группе IP-адресов. |
| DropMembership | 13 | Удаление членства в группе IP-адресов. |
| DontFragment | 14 | Не фрагментировать IP-диаграммы данных. |
| AddSourceMembership | 15 | Присоединение к исходной группе. |
| FastOpen | 15 | Включает tcp Fast Open, как определено в RFC-7413. Фактическое наблюдаемое поведение зависит от конфигурации ОС и состояния кэша tcp-файлов cookie ядра. Использование TFO рекомендуется только в управляемых сетевых средах, что означает, что каждый средний ящик (например, брандмауэр, маршрутизатор, прокси) в сетевом пути между клиентом и сервером известен и может быть настроен для поддержки TFO. Использование TFO вне контролируемых сред (таких как открытый Интернет) может привести к проблемам с подключением. |
| DontRoute | 16 | Не маршрутизировать; отправьте пакет непосредственно в адреса интерфейса. |
| DropSourceMembership | 16 | Удалите исходную группу. |
| TcpKeepAliveRetryCount | 16 | Количество сеансов TCP, которые будут отправляться до завершения подключения. |
| BlockSource | 17 | Блокировать данные из источника. |
| TcpKeepAliveInterval | 17 | Количество секунд, в течение которых TCP-подключение будет ожидать сохраняемого ответа, прежде чем отправлять другую пробу хранения. |
| UnblockSource | 18 | Разблокируйте ранее заблокированный источник. |
| PacketInformation | 19 | Возвращает сведения о полученных пакетах. |
| ChecksumCoverage | 20 | Задайте или получите покрытие контрольной суммы UDP. |
| HopLimit | 21 | Указывает максимальное количество прыжков маршрутизатора для пакета протокола Интернета 6 (IPv6). Это аналогично времени жизни (TTL) для Протокола Интернета версии 4. |
| IPProtectionLevel | 23 | Разрешает ограничение сокета IPv6 в указанную область, например адреса с тем же локальным или локальным префиксом сайта. Этот параметр сокета позволяет приложениям размещать ограничения доступа к сокетам IPv6. Такие ограничения позволяют приложению, работающему в частной локальной сети, просто и надежно защищать себя от внешних атак. Этот параметр сокета расширяет или ограничивает область прослушивания сокета, обеспечивая неограниченный доступ от общедоступных и частных пользователей, если это необходимо, или ограничивает доступ только к тому же сайту, как это необходимо. Этот параметр сокета определил уровни защиты, указанные IPProtectionLevel в перечислении. |
| IPv6Only | 27 | Указывает, ограничен ли сокет, созданный для семейства адресов AF_INET6, связью через IPv6. Сокеты, созданные для семейства адресов AF_INET6, можно использовать для связи и через IPv6, и через IPv4. Некоторым приложениям может быть нужно ограничивать использование сокета, созданного для семейства адресов AF_INET6, связью через IPv6. Если это значение не равно нулю (по умолчанию в Windows), сокет, созданный для семейства адресов AF_INET6, можно использовать только для отправки и получения пакетов IPv6. Если это значение равно нулю, сокет, созданный для семейства адресов AF_INET6, может использоваться для отправки и получения пакетов IPv6 и IPv4. Обратите внимание, что возможность взаимодействия с адресами IPv4 требует использования адресов, сопоставленных по IPv4. Этот параметр сокета поддерживается в Windows Vista и более поздних версиях. |
| Broadcast | 32 | Разрешить отправку широковещательных сообщений в сокет. |
| UseLoopback | 64 | Обходить оборудование, когда это возможно. |
| Linger | 128 | Linger on close, если неотступные данные присутствуют. |
| OutOfBandInline | 256 | Получает данные вне диапазона в обычном потоке данных. |
| SendBuffer | 4097 | Указывает общее пространство буфера для каждого сокета, зарезервированное для отправки. Это не связано с максимальным размером сообщения или размером окна TCP. |
| ReceiveBuffer | 4098 | Указывает общее пространство буфера для каждого сокета, зарезервированное для получения. Это не связано с максимальным размером сообщения или размером окна TCP. |
| SendLowWater | 4099 | Указывает низкую метку воды для Send операций. |
| ReceiveLowWater | 4100 | Указывает низкую метку воды для Receive операций. |
| SendTimeout | 4101 | Отправка времени ожидания. Этот параметр применяется только к синхронным методам; он не влияет на асинхронные методы, такие как BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) метод. |
| ReceiveTimeout | 4102 | Получение времени ожидания. Этот параметр применяется только к синхронным методам; он не влияет на асинхронные методы, такие как BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) метод. |
| Error | 4103 | Возвращает состояние ошибки и очищает его. |
| Type | 4104 | Возвращает тип сокета. |
| ReuseUnicastPort | 12295 | Указывает, что система должна отложить распределение временных портов для исходящих подключений. Это эквивалентно использованию параметра сокета Winsock2 SO_REUSE_UNICASTPORT. |
| UpdateAcceptContext | 28683 | Обновляет свойства принятого сокета с помощью существующих сокетов. Это эквивалентно использованию параметра сокета Winsock2 SO_UPDATE_ACCEPT_CONTEXT и поддерживается только в сокетах, ориентированных на подключение. |
| UpdateConnectContext | 28688 | Обновляет свойства подключенного сокета с помощью существующих сокетов. Это эквивалентно использованию параметра сокета Winsock2 SO_UPDATE_CONNECT_CONTEXT и поддерживается только в сокетах, ориентированных на подключение. |
| MaxConnections | 2147483647 | Не поддерживается; вызовет SocketException исключение, если используется. |
Примеры
В следующем примере кода используется это перечисление для задания параметров сокета.
// 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);
' The socket will linger for 10 seconds after Socket.Close is called.
Dim lingerOption As New LingerOption(True, 10)
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption)
Комментарии
Перечисление SocketOptionName определяет имя каждого Socket параметра конфигурации. Сокеты можно настроить с помощью Socket.SetSocketOption метода.