Язык

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

Требования Описание
Возможности приложения
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 используется для отправки данных в одну конечную точку и получения данных.

См. также

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

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), операция привязки ограничивает входящие и исходящие многоадресные и одноадресные пакеты указанным адаптером.

Использование указанного сетевого адаптера осуществляется на основе наилучших усилий. Среди прочего, системы с адаптерами, настроенными в режимах слабого узла или пересылки, могут использовать адаптер, отличный от указанного адаптера.

См. также

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