Socket.SetSocketOption Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Socket Задает параметр.
Перегрузки
| Имя | Описание |
|---|---|
| SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean) |
Задает указанный Socket параметр указанному Boolean значению. |
| SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[]) |
Задает указанный Socket параметр указанному значению, представленному в виде массива байтов. |
| SetSocketOption(SocketOptionLevel, SocketOptionName, Int32) |
Задает указанный Socket параметр для указанного целочисленного значения. |
| SetSocketOption(SocketOptionLevel, SocketOptionName, Object) |
Задает указанный Socket параметр указанному значению, представленному как объект. |
SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)
- Исходный код:
- Socket.cs
- Исходный код:
- Socket.cs
- Исходный код:
- Socket.cs
- Исходный код:
- Socket.cs
- Исходный код:
- Socket.cs
public:
void SetSocketOption(System::Net::Sockets::SocketOptionLevel optionLevel, System::Net::Sockets::SocketOptionName optionName, bool optionValue);
public void SetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, bool optionValue);
member this.SetSocketOption : System.Net.Sockets.SocketOptionLevel * System.Net.Sockets.SocketOptionName * bool -> unit
Public Sub SetSocketOption (optionLevel As SocketOptionLevel, optionName As SocketOptionName, optionValue As Boolean)
Параметры
- optionLevel
- SocketOptionLevel
Одно из значений SocketOptionLevel .
- optionName
- SocketOptionName
Одно из значений SocketOptionName .
Исключения
Объект Socket закрыт.
Произошла ошибка при попытке доступа к сокету.
Примеры
Следующий пример кода открывает сокет и включает DontLinger параметры сокета OutOfBandInline .
// Establish the local endpoint for the socket.
IPHostEntry ipHost = Dns.GetHostEntry(Dns.GetHostName());
IPAddress ipAddr = ipHost.AddressList[0];
IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, 11000);
// Create a TCP socket.
Socket client = new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp);
// Connect the socket to the remote endpoint.
client.Connect(ipEndPoint);
// Set option that allows socket to close gracefully without lingering.
client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.DontLinger, true);
// Set option that allows socket to receive out-of-band information in the data stream.
client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.OutOfBandInline, true);
Комментарии
Socket параметры определяют поведение текущего Socket. Установите optionValue для true включения параметра или false отключения параметра.
Socket параметры группируются по уровню поддержки протокола.
Ниже перечислены различные Socket параметры, которые можно задать с помощью этой перегрузки. Эти параметры группируются по соответствующему SocketOptionLevel значению. Если вы планируете задать любой из этих параметров, обязательно используйте соответствующее SocketOptionLevel значение для optionLevel параметра. Параметр, который нужно задать, должен быть указан в параметре optionName . Если вы хотите получить текущее значение любого из перечисленных параметров, используйте GetSocketOption этот метод.
SocketOptionLevel.Socket Параметры, которые можно задать с помощью этой перегрузки.
SocketOptionLevel.IP Параметры, которые можно задать с помощью этой перегрузки.
SocketOptionLevel.Tcp Параметры, которые можно задать с помощью этой перегрузки.
SocketOptionLevel.Udp Параметры, которые можно задать с помощью этой перегрузки.
Дополнительные сведения об этих параметрах см. в перечислении SocketOptionName .
Замечание
Если вы получаете SocketException исключение, используйте SocketException.ErrorCode свойство для получения определенного кода ошибки. Получив этот код, ознакомьтесь с документацией по коду ошибки API сокетов Windows версии 2 , чтобы получить подробное описание ошибки.
Применяется к
SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])
- Исходный код:
- Socket.cs
- Исходный код:
- Socket.cs
- Исходный код:
- Socket.cs
- Исходный код:
- Socket.cs
- Исходный код:
- Socket.cs
Задает указанный Socket параметр указанному значению, представленному в виде массива байтов.
public:
void SetSocketOption(System::Net::Sockets::SocketOptionLevel optionLevel, System::Net::Sockets::SocketOptionName optionName, cli::array <System::Byte> ^ optionValue);
public void SetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, byte[] optionValue);
member this.SetSocketOption : System.Net.Sockets.SocketOptionLevel * System.Net.Sockets.SocketOptionName * byte[] -> unit
Public Sub SetSocketOption (optionLevel As SocketOptionLevel, optionName As SocketOptionName, optionValue As Byte())
Параметры
- optionLevel
- SocketOptionLevel
Одно из значений SocketOptionLevel .
- optionName
- SocketOptionName
Одно из значений SocketOptionName .
Исключения
Произошла ошибка при попытке доступа к сокету.
Он Socket был закрыт.
Примеры
В следующем примере кода задаются LingerOption значения времени ожидания и Send времени ожидания.
// 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)
Комментарии
Socket параметры определяют поведение текущего Socket. Используйте эту перегрузку для задания этих Socket параметров, требующих массива байтов в качестве значения параметра.
Замечание
При получении SocketExceptionсвойства используйте SocketException.ErrorCode свойство для получения определенного кода ошибки. Получив этот код, ознакомьтесь с документацией по коду ошибки API сокетов Windows версии 2 , чтобы получить подробное описание ошибки.
Замечание
Этот элемент выводит сведения о трассировке при включении трассировки сети в приложении. Дополнительные сведения см. в разделе "Трассировка сети" в .NET Framework.
См. также раздел
Применяется к
SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)
- Исходный код:
- Socket.cs
- Исходный код:
- Socket.cs
- Исходный код:
- Socket.cs
- Исходный код:
- Socket.cs
- Исходный код:
- Socket.cs
Задает указанный Socket параметр для указанного целочисленного значения.
public:
void SetSocketOption(System::Net::Sockets::SocketOptionLevel optionLevel, System::Net::Sockets::SocketOptionName optionName, int optionValue);
public void SetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, int optionValue);
member this.SetSocketOption : System.Net.Sockets.SocketOptionLevel * System.Net.Sockets.SocketOptionName * int -> unit
Public Sub SetSocketOption (optionLevel As SocketOptionLevel, optionName As SocketOptionName, optionValue As Integer)
Параметры
- optionLevel
- SocketOptionLevel
Одно из значений SocketOptionLevel .
- optionName
- SocketOptionName
Одно из значений SocketOptionName .
- optionValue
- Int32
Значение параметра.
Исключения
Произошла ошибка при попытке доступа к сокету.
Он Socket был закрыт.
Примеры
В следующем примере кода задаются LingerOption значения времени ожидания и Send времени ожидания.
// Send operations will time-out if confirmation
// is not received within 1000 milliseconds.
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 1000);
'Send operations will time-out if confirmation is
' not received within 1000 milliseconds.
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 1000)
Комментарии
Socket параметры определяют поведение текущего Socket. Для параметра с типом Boolean данных укажите ненулевое значение, чтобы включить этот параметр, и нулевое значение, чтобы отключить этот параметр. Для параметра с целым типом данных укажите соответствующее значение. Socket параметры группируются по уровню поддержки протокола.
Ниже перечислены различные Socket параметры, которые можно задать с помощью этой перегрузки. Эти параметры группируются соответствующим SocketOptionLevelобразом. Если вы планируете задать любой из этих параметров, обязательно используйте соответствующий SocketOptionLevel параметр optionLevel . Параметр, который нужно задать, должен быть указан в параметре optionName . Если вы хотите получить текущее значение любого из перечисленных параметров, используйте GetSocketOption этот метод.
SocketOptionLevel.Socket Параметры, которые можно задать с помощью этой перегрузки.
SocketOptionLevel.IP Параметры, которые можно задать с помощью этой перегрузки.
SocketOptionLevel.Tcp Параметры, которые можно задать с помощью этой перегрузки.
SocketOptionLevel.Udp Параметры, которые можно задать с помощью этой перегрузки.
SocketOptionLevel.IPv6 Параметры, которые можно задать с помощью этой перегрузки.
Дополнительные сведения об этих параметрах см. в перечислении SocketOptionName .
Замечание
При получении SocketExceptionсвойства используйте SocketException.ErrorCode свойство для получения определенного кода ошибки. Получив этот код, ознакомьтесь с документацией по коду ошибки API сокетов Windows версии 2 , чтобы получить подробное описание ошибки.
Замечание
Этот элемент выводит сведения о трассировке при включении трассировки сети в приложении. Дополнительные сведения см. в разделе "Трассировка сети" в .NET Framework.
См. также раздел
Применяется к
SetSocketOption(SocketOptionLevel, SocketOptionName, Object)
- Исходный код:
- Socket.cs
- Исходный код:
- Socket.cs
- Исходный код:
- Socket.cs
- Исходный код:
- Socket.cs
- Исходный код:
- Socket.cs
Задает указанный Socket параметр указанному значению, представленному как объект.
public:
void SetSocketOption(System::Net::Sockets::SocketOptionLevel optionLevel, System::Net::Sockets::SocketOptionName optionName, System::Object ^ optionValue);
public void SetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, object optionValue);
member this.SetSocketOption : System.Net.Sockets.SocketOptionLevel * System.Net.Sockets.SocketOptionName * obj -> unit
Public Sub SetSocketOption (optionLevel As SocketOptionLevel, optionName As SocketOptionName, optionValue As Object)
Параметры
- optionLevel
- SocketOptionLevel
Одно из значений SocketOptionLevel .
- optionName
- SocketOptionName
Одно из значений SocketOptionName .
- optionValue
- Object
MulticastOption Значение LingerOption параметра или содержит значение параметра.
Исключения
optionValue равно null.
Произошла ошибка при попытке доступа к сокету.
Он Socket был закрыт.
Примеры
В следующем примере кода задаются LingerOption значения времени ожидания и Send времени ожидания.
// 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)
Комментарии
Socket параметры определяют поведение текущего Socket. Используйте эту перегрузку для задания LingerAddMembershipпараметров и DropMembershipSocket параметров.
Linger Для параметра используйте Socket параметрoptionLevel. Для AddMembership и DropMembership, используйте IP. Если вы хотите получить текущее значение любого из перечисленных выше параметров, используйте GetSocketOption этот метод.
Замечание
При получении SocketExceptionсвойства используйте SocketException.ErrorCode свойство для получения определенного кода ошибки. Получив этот код, ознакомьтесь с документацией по коду ошибки API сокетов Windows версии 2 , чтобы получить подробное описание ошибки.