DatagramSocket.BindServiceNameAsync Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
BindServiceNameAsync(String) |
Запускает операцию привязки datagramSocket к имени локальной службы. |
BindServiceNameAsync(String, NetworkAdapter) |
Запускает операцию привязки datagramSocket к имени локальной службы и определенному сетевому интерфейсу. |
BindServiceNameAsync(String)
Запускает операцию привязки datagramSocket к имени локальной службы.
public:
virtual IAsyncAction ^ BindServiceNameAsync(Platform::String ^ localServiceName) = BindServiceNameAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncAction BindServiceNameAsync(winrt::hstring const& localServiceName);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncAction BindServiceNameAsync(string localServiceName);
function bindServiceNameAsync(localServiceName)
Public Function BindServiceNameAsync (localServiceName As String) As IAsyncAction
Параметры
- localServiceName
-
String
Platform::String
winrt::hstring
Имя локальной службы или порт UDP, к которому необходимо привязать объект DatagramSocket .
Возвращаемое значение
Асинхронная операция привязки для объекта DatagramSocket .
- Атрибуты
Требования к Windows
Возможности приложения |
ID_CAP_NETWORKING [Windows Phone]
internetClientServer
privateNetworkClientServer
|
Комментарии
Метод BindServiceNameAsync привязывается к локальным IP-адресам всех сетевых интерфейсов на локальном компьютере по имени локальной службы или порту UDP, указанному в параметре localServiceName . Если параметр localServiceName является пустой строкой, система выберет локальный UDP-порт, к которому требуется выполнить привязку.
Если вы не использовали свойство DatagramSocketControl.MulticastOnly , метод BindServiceNameAsync завершится ошибкой , если другое приложение, использующего UDP (например, другой DatagramSocket), уже привязано к локальному порту UDP, указанному в параметре localServiceName .
Привязка необходима для получения данных из любой удаленной конечной точки в DatagramSocket и обычно выполняется после создания сокета и установки события MessageReceived . Метод BindServiceNameAsync или BindEndpointAsync используется для привязки DatagramSocket к имени локальной службы или порту UDP. Методы ConnectAsync также приведут к операции привязки. Запись в поток, возвращаемый одним из методов GetOutputStreamAsync , также приведет к операции привязки, если сокет еще не привязан.
Методы BindServiceNameAsync и BindEndpointAsync не требуются в следующих случаях:
- DatagramSocket используется только для отправки данных.
- DatagramSocket используется для отправки данных в одну конечную точку и получения данных из нее.
См. также раздел
- BindEndpointAsync(HostName, String)
- BindServiceNameAsync(String, NetworkAdapter)
- DatagramSocketInformation
Применяется к
BindServiceNameAsync(String, NetworkAdapter)
Запускает операцию привязки datagramSocket к имени локальной службы и определенному сетевому интерфейсу.
public:
virtual IAsyncAction ^ BindServiceNameAsync(Platform::String ^ localServiceName, NetworkAdapter ^ adapter) = BindServiceNameAsync;
/// [Windows.Foundation.Metadata.Overload("BindServiceNameAndAdapterAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncAction BindServiceNameAsync(winrt::hstring const& localServiceName, NetworkAdapter const& adapter);
[Windows.Foundation.Metadata.Overload("BindServiceNameAndAdapterAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncAction BindServiceNameAsync(string localServiceName, NetworkAdapter adapter);
function bindServiceNameAsync(localServiceName, adapter)
Public Function BindServiceNameAsync (localServiceName As String, adapter As NetworkAdapter) As IAsyncAction
Параметры
- localServiceName
-
String
Platform::String
winrt::hstring
Имя локальной службы или порт UDP, к которому необходимо привязать объект DatagramSocket .
- adapter
- NetworkAdapter
Сетевой адаптер, к которому необходимо привязать объект DatagramSocket .
Возвращаемое значение
Асинхронная операция привязки для объекта DatagramSocket .
- Атрибуты
Комментарии
Метод [BindServiceNameAsync(String, NetworkAdapter) привязывается к сетевому интерфейсу, указанному в параметре адаптера , и к имени локальной службы или порту UDP, указанному в параметре localServiceName на локальном компьютере. Если параметр localServiceName является пустой строкой, система выберет локальный UDP-порт, к которому требуется выполнить привязку. Если параметр адаптера имеет значение NULL, возникнет ошибка.
Механизм разрешения имен, используемый методом [BindServiceNameAsync(String, NetworkAdapter), ограничен указанным интерфейсом для пространства имен системы доменных имен (DNS).
Если вы не использовали свойство DatagramSocketControl.MulticastOnly , метод BindServiceNameAsync завершится ошибкой, если другое приложение, использующего UDP (например, другой DatagramSocket), уже привязано к локальному порту UDP, указанному в параметре localServiceName в том же сетевом интерфейсе.
Привязка необходима для получения данных из любой удаленной конечной точки в DatagramSocket и обычно выполняется после создания сокета и установки события MessageReceived . Метод BindServiceNameAsync или BindEndpointAsync используется для привязки DatagramSocket к имени локальной службы или порту UDP. Методы ConnectAsync также приводят к операции привязки, но не могут быть ограничены конкретным сетевым адаптером. Запись в поток, возвращаемый одним из методов GetOutputStreamAsync , также приведет к операции привязки, если сокет еще не привязан, но не может быть ограничен определенным сетевым адаптером.
Методы BindServiceNameAsync и BindEndpointAsync не требуются в следующих случаях:
- DatagramSocket используется только для отправки данных.
- DatagramSocket используется для отправки данных в одну конечную точку и получения данных из нее.
Если используется метод [BindServiceNameAsync(String, NetworkAdapter), операция привязки ограничивает входящие и исходящие пакеты многоадресной и одноадресной рассылки указанным адаптером.
Использование указанного сетевого адаптера осуществляется на основе наилучших усилий. Среди прочего, системы с адаптерами, настроенными в режиме слабого узла или переадресации, могут использовать адаптер, отличный от указанного адаптера.