Поделиться через


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

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

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

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

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

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

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