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

Определение

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

public enum class SocketOptionName
public enum SocketOptionName
type SocketOptionName = 
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. Этот параметр может быть установлен только один раз, и после этого он не может быть отключен.

HeaderIncluded 2

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

HopLimit 21

Указывает максимальное количество прыжков маршрутизатора для IPv6-пакетов. Аналогично сроку жизни для протокола IPv4.

IPOptions 1

Задает IP-параметры, которые включаются в исходящие датаграммы.

IPProtectionLevel 23

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

IpTimeToLive 4

Задает поле срока жизни в IP-заголовке.

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

Задержка при закрытии, если имеются неотправленные данные.

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-подключение будет ожидать ответа на KeepAlive перед отправкой другой проверки на KeepAlive.

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 send operations will time-out 
// if confirmation is not received within 1000 milliseconds.
s->SetSocketOption( SocketOptionLevel::Socket, SocketOptionName::SendTimeout, 1000 );

// 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 );
// Send operations will time-out if confirmation
// is not received within 1000 milliseconds.
s.SetSocketOption (SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 1000);

// The socket will linger for 10 seconds after Socket.Close is called.
LingerOption lingerOption = new LingerOption (true, 10);

s.SetSocketOption (SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption);
'Send operations will time-out if confirmation is 
' not received within 1000 milliseconds.
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 1000)

' 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 метода.

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

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