Condividi tramite


DatagramSocket.BindServiceNameAsync Metodo

Definizione

Overload

BindServiceNameAsync(String)

Avvia un'operazione di associazione in un datagramSocket a un nome del servizio locale.

BindServiceNameAsync(String, NetworkAdapter)

Avvia un'operazione di associazione in un datagramSocket a un nome del servizio locale e a un'interfaccia di rete specifica.

BindServiceNameAsync(String)

Avvia un'operazione di associazione in un datagramSocket a un nome del servizio locale.

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

Parametri

localServiceName
String

Platform::String

winrt::hstring

Nome del servizio locale o porta UDP in cui associare l'oggetto DatagramSocket .

Restituisce

Operazione di associazione asincrona in un oggetto DatagramSocket .

Attributi

Requisiti Windows

Funzionalità dell'app
ID_CAP_NETWORKING [Windows Phone] internetClientServer privateNetworkClientServer

Commenti

Il metodo BindServiceNameAsync associa agli indirizzi IP locali di tutte le interfacce di rete nel computer locale nel nome del servizio locale o alla porta UDP specificata nel parametro localServiceName . Se il parametro localServiceName è una stringa vuota, il sistema selezionerà la porta UDP locale su cui associare.

A meno che non sia stata usata la proprietà DatagramSocketControl.MulticastOnly , il metodo BindServiceNameAsync avrà esito negativo se un'altra app che usa UDP (un altro DatagramSocket, ad esempio) è già stata associata alla porta UDP locale specificata nel parametro localServiceName .

L'associazione è essenziale per ricevere dati da qualsiasi endpoint remoto in un datagramSocket e viene comunemente eseguita dopo la creazione di un socket e l'evento MessageReceived è stato impostato. Il metodo BindServiceNameAsync o BindEndpointAsync viene usato per associare un datagramSocket a un nome del servizio locale o a una porta UDP. I metodi ConnectAsync comportano anche un'operazione di associazione. La scrittura in un flusso restituito da uno dei metodi GetOutputStreamAsync comporterà anche un'operazione di associazione se il socket non è già associato.

I metodi BindServiceNameAsync e BindEndpointAsync non sono necessari nei casi seguenti:

Vedi anche

Si applica a

BindServiceNameAsync(String, NetworkAdapter)

Avvia un'operazione di associazione in un datagramSocket a un nome del servizio locale e a un'interfaccia di rete specifica.

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

Parametri

localServiceName
String

Platform::String

winrt::hstring

Nome del servizio locale o porta UDP in cui associare l'oggetto DatagramSocket .

adapter
NetworkAdapter

Scheda di rete in cui associare l'oggetto DatagramSocket .

Restituisce

Operazione di associazione asincrona in un oggetto DatagramSocket .

Attributi

Commenti

Il metodo [BindServiceNameAsync(String, NetworkAdapter) associa a un'interfaccia di rete specificata nel parametro della scheda e al nome del servizio locale o alla porta UDP specificata nel parametro localServiceName nel computer locale. Se il parametro localServiceName è una stringa vuota, il sistema selezionerà la porta UDP locale su cui associare. Se il parametro dell'adattatore è Null, si verificherà un errore.

Il meccanismo di risoluzione dei nomi usato dal metodo [BindServiceNameAsync(String, NetworkAdapter) è limitato all'interfaccia specificata per lo spazio dei nomi DNS (Domain Name System).

A meno che non sia stata usata la proprietà DatagramSocketControl.MulticastOnly, il metodo BindServiceNameAsync avrà esito negativo se un'altra app che usa UDP (un altro DatagramSocket, ad esempio) è già stata associata alla porta UDP locale specificata nel parametro localServiceName nella stessa interfaccia di rete.

L'associazione è essenziale per ricevere dati da qualsiasi endpoint remoto in un datagramSocket e viene comunemente eseguita dopo la creazione di un socket e l'evento MessageReceived è stato impostato. Il metodo BindServiceNameAsync o BindEndpointAsync viene usato per associare un datagramSocket a un nome del servizio locale o a una porta UDP. I metodi ConnectAsync comportano anche un'operazione di associazione, ma non possono essere limitati a una scheda di rete specifica. La scrittura in un flusso restituito da uno dei metodi GetOutputStreamAsync comporta anche un'operazione di associazione se il socket non è già associato, ma non può essere limitato a una scheda di rete specifica.

I metodi BindServiceNameAsync e BindEndpointAsync non sono necessari nei casi seguenti:

Se viene usato il metodo [BindServiceNameAsync(String, NetworkAdapter), l'operazione di associazione limiterà i pacchetti multicast in ingresso e in uscita e unicast alla scheda specificata.

L'uso della scheda di rete specificata è su base ottimale. Tra le altre configurazioni, i sistemi con adattatori configurati in modalità host debole o inoltro possono usare una scheda diversa dalla scheda specificata.

Vedi anche

Si applica a