DatagramSocket.BindServiceNameAsync Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
BindServiceNameAsync(String) |
Startet einen Bindungsvorgang für ein DatagramSocket an einen lokalen Dienstnamen. |
BindServiceNameAsync(String, NetworkAdapter) |
Startet einen Bindungsvorgang für ein DatagramSocket an einen lokalen Dienstnamen und eine bestimmte Netzwerkschnittstelle. |
BindServiceNameAsync(String)
Startet einen Bindungsvorgang für ein DatagramSocket an einen lokalen Dienstnamen.
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
Parameter
- localServiceName
-
String
Platform::String
winrt::hstring
Der Name des lokalen Diensts oder der UDP-Port, an den das DatagramSocket-Objekt gebunden werden soll.
Gibt zurück
Ein asynchroner Bindungsvorgang für ein DatagramSocket-Objekt .
- Attribute
Windows-Anforderungen
App-Funktionen |
ID_CAP_NETWORKING [Windows Phone]
internetClientServer
privateNetworkClientServer
|
Hinweise
Die BindServiceNameAsync-Methode bindet an die lokalen IP-Adressen aller Netzwerkschnittstellen auf dem lokalen Computer auf dem lokalen Dienstnamen oder UDP-Port, der im localServiceName-Parameter angegeben ist. Wenn der parameter localServiceName eine leere Zeichenfolge ist, wählt das System den lokalen UDP-Port aus, an den gebunden werden soll.
Sofern Sie die DatagramSocketControl.MulticastOnly-Eigenschaft nicht verwendet haben, schlägt die BindServiceNameAsync-Methode fehl, wenn eine andere App, die UDP verwendet (z. B. ein anderes DatagramSocket), bereits an den lokalen UDP-Port gebunden wurde, der im localServiceName-Parameter angegeben ist.
Die Bindung ist für den Empfang von Daten von jedem Remoteendpunkt auf einem DatagramSocket unerlässlich und erfolgt in der Regel, nachdem ein Socket erstellt und das MessageReceived-Ereignis festgelegt wurde. Die BindServiceNameAsync - oder BindEndpointAsync-Methode wird verwendet, um ein DatagramSocket an einen lokalen Dienstnamen oder UDP-Port zu binden. Die ConnectAsync-Methoden führen auch zu einem Bindungsvorgang. Das Schreiben in einen Stream, der von einer der GetOutputStreamAsync-Methoden zurückgegeben wird, führt auch zu einem Bindungsvorgang, wenn der Socket noch nicht gebunden ist.
Die Methoden BindServiceNameAsync und BindEndpointAsync sind in den folgenden Fällen nicht erforderlich:
- Das DatagramSocket wird nur zum Senden von Daten verwendet.
- Das DatagramSocket wird verwendet, um Daten an einen einzelnen Endpunkt zu senden und von diesen zu empfangen.
Weitere Informationen
- BindEndpointAsync(HostName, String)
- BindServiceNameAsync(String, NetworkAdapter)
- DatagramSocketInformation
Gilt für:
BindServiceNameAsync(String, NetworkAdapter)
Startet einen Bindungsvorgang für ein DatagramSocket an einen lokalen Dienstnamen und eine bestimmte Netzwerkschnittstelle.
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
Parameter
- localServiceName
-
String
Platform::String
winrt::hstring
Der Name des lokalen Diensts oder der UDP-Port, an den das DatagramSocket-Objekt gebunden werden soll.
- adapter
- NetworkAdapter
Der Netzwerkadapter, an den das DatagramSocket-Objekt gebunden werden soll.
Gibt zurück
Ein asynchroner Bindungsvorgang für ein DatagramSocket-Objekt .
- Attribute
Hinweise
Die [BindServiceNameAsync(String, NetworkAdapter)-Methode wird an eine Netzwerkschnittstelle gebunden, die im Adapterparameter angegeben ist, und an den lokalen Dienstnamen oder UDP-Port, der im localServiceName-Parameter auf dem lokalen Computer angegeben ist. Wenn der parameter localServiceName eine leere Zeichenfolge ist, wählt das System den lokalen UDP-Port aus, an den gebunden werden soll. Wenn der Adapterparameter NULL ist, tritt ein Fehler auf.
Der Von der [BindServiceNameAsync(String, NetworkAdapter)-Methode verwendete Namensauflösungsmechanismus ist auf die angegebene Schnittstelle für den DNS-Namespace (Domain Name System) beschränkt.
Sofern Sie die DatagramSocketControl.MulticastOnly-Eigenschaft nicht verwendet haben, schlägt die BindServiceNameAsync-Methode fehl, wenn eine andere App, die UDP verwendet (z. B. ein anderes DatagramSocket), bereits an den lokalen UDP-Port gebunden wurde, der im localServiceName-Parameter auf derselben Netzwerkschnittstelle angegeben ist.
Die Bindung ist für den Empfang von Daten von jedem Remoteendpunkt auf einem DatagramSocket unerlässlich und erfolgt in der Regel, nachdem ein Socket erstellt und das MessageReceived-Ereignis festgelegt wurde. Die BindServiceNameAsync- oder BindEndpointAsync-Methode wird verwendet, um ein DatagramSocket an einen lokalen Dienstnamen oder UDP-Port zu binden. Die ConnectAsync-Methoden führen auch zu einem Bindungsvorgang, können aber nicht auf einen bestimmten Netzwerkadapter beschränkt werden. Das Schreiben in einen Stream, der von einer der GetOutputStreamAsync-Methoden zurückgegeben wird, führt auch zu einem Bindungsvorgang, wenn der Socket noch nicht gebunden ist, aber nicht auf einen bestimmten Netzwerkadapter beschränkt werden kann.
Die Methoden BindServiceNameAsync und BindEndpointAsync sind in den folgenden Fällen nicht erforderlich:
- Das DatagramSocket wird nur zum Senden von Daten verwendet.
- Das DatagramSocket wird verwendet, um Daten an einen einzelnen Endpunkt zu senden und von diesen zu empfangen.
Wenn die [BindServiceNameAsync(String, NetworkAdapter)-Methode verwendet wird, beschränkt der Bindungsvorgang eingehende und ausgehende Multicast- und Unicastpakete auf den angegebenen Adapter.
Die Verwendung des angegebenen Netzwerkadapters erfolgt auf der Grundlage der besten Leistung. Unter anderem können Systeme mit Adaptern, die im Schwachhost- oder Weiterleitungsmodus konfiguriert sind, einen anderen Adapter als den angegebenen Adapter verwenden.