SocketOptionName Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет имена параметров конфигурации.
public enum class SocketOptionName
public enum SocketOptionName
type SocketOptionName =
Public Enum 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 | Обходить оборудование, когда это возможно. |
Примеры
В следующем примере кода используется это перечисление для задания параметров сокета.
// Specifies that the Socket will linger for 10 seconds after Close is called.
LingerOption^ lingerOption = gcnew LingerOption(true, 10);
s->SetSocketOption(SocketOptionLevel::Socket, SocketOptionName::Linger, lingerOption);
// 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.