TcpListener.ExclusiveAddressUse Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает значение Boolean, указывающее, позволяет ли объект TcpListener осуществлять ожидание передачи данных только на одном основном сокете на указанном порту.
public:
property bool ExclusiveAddressUse { bool get(); void set(bool value); };
public bool ExclusiveAddressUse { get; set; }
member this.ExclusiveAddressUse : bool with get, set
Public Property ExclusiveAddressUse As Boolean
Значение свойства
Значение true
, если объект TcpListener разрешает осуществлять ожидание передачи данных только на одном объекте TcpListener на указанном порту; в противном случае — значение false
. По умолчанию используется значение true
для Windows Server 2003 и Windows XP с пакетом обновления 2 (SP2) и более поздней версии; для всех остальных версий по умолчанию используется значение false
.
Исключения
Объект TcpListener запущен. Вызовите метод Stop(), а затем задайте свойство ExclusiveAddressUse.
Произошла ошибка при попытке доступа к основному сокету.
Основной объект Socket закрыт.
Примеры
В следующем примере кода возвращается и задается ExclusiveAddressUse свойство .
public:
static void GetSetExclusiveAddressUse(TcpListener^ listener)
{
// Set Exclusive Address Use for the underlying socket.
listener->ExclusiveAddressUse = true;
Console::WriteLine("ExclusiveAddressUse value is {0}",
listener->ExclusiveAddressUse);
}
public static void GetSetExclusiveAddressUse(TcpListener t)
{
// Set Exclusive Address Use for the underlying socket.
t.ExclusiveAddressUse = true;
Console.WriteLine("ExclusiveAddressUse value is {0}",
t.ExclusiveAddressUse);
}
Public Shared Sub GetSetExclusiveAddressUse(t As TcpListener)
' Set Exclusive Address Use for the underlying socket.
t.ExclusiveAddressUse = True
Console.WriteLine("ExclusiveAddressUse value is {0}", t.ExclusiveAddressUse)
End Sub
Комментарии
По умолчанию несколько прослушивателей могут прослушивать определенный порт. Однако только один из прослушивателей может выполнять операции с сетевым трафиком, отправленным на порт. Если несколько прослушивателя пытаются выполнить привязку к определенному порту, то тот, у кого более конкретный IP-адрес, обрабатывает сетевой трафик, отправляемый на этот порт. Свойство можно использовать, ExclusiveAddressUse чтобы запретить прослушивание несколькими прослушивателями определенного порта.
Задайте это свойство перед вызовом Startили вызовите Stop метод , а затем задайте это свойство.