Partager via


DatagramSocket.GetOutputStreamAsync Méthode

Définition

Surcharges

GetOutputStreamAsync(EndpointPair)

Démarre une opération pour obtenir un IOutputStream vers une destination réseau distante spécifiée par un objet EndpointPair qui peut ensuite être utilisé pour envoyer des données réseau.

GetOutputStreamAsync(HostName, String)

Démarre une opération pour obtenir un IOutputStream vers une destination distante spécifiée par un nom d’hôte distant et un nom de service distant qui peuvent ensuite être utilisés pour envoyer des données réseau.

GetOutputStreamAsync(EndpointPair)

Démarre une opération pour obtenir un IOutputStream vers une destination réseau distante spécifiée par un objet EndpointPair qui peut ensuite être utilisé pour envoyer des données réseau.

public:
 virtual IAsyncOperation<IOutputStream ^> ^ GetOutputStreamAsync(EndpointPair ^ endpointPair) = GetOutputStreamAsync;
/// [Windows.Foundation.Metadata.Overload("GetOutputStreamWithEndpointPairAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<IOutputStream> GetOutputStreamAsync(EndpointPair const& endpointPair);
[Windows.Foundation.Metadata.Overload("GetOutputStreamWithEndpointPairAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<IOutputStream> GetOutputStreamAsync(EndpointPair endpointPair);
function getOutputStreamAsync(endpointPair)
Public Function GetOutputStreamAsync (endpointPair As EndpointPair) As IAsyncOperation(Of IOutputStream)

Paramètres

endpointPair
EndpointPair

Paire de points de terminaison qui représente le nom d’hôte local ou l’adresse IP locale, le nom du service local ou le port UDP local, le nom d’hôte distant ou l’adresse IP distante et le nom du service distant ou le port UDP distant.

Retours

IOutputStream qui représente l’opération asynchrone.

Attributs

Configuration requise pour Windows

Fonctionnalités de l’application
ID_CAP_NETWORKING [Windows Phone]

Remarques

La méthode GetOutputStreamAsync(EndpointPair) sur un DatagramSocket est utilisée pour démarrer une opération d’obtention d’un IOutputStream vers une destination réseau distante spécifiée par un objet EndpointPair . IOutputStream peut ensuite être utilisé pour envoyer des données à la destination distante.

La méthode GetOutputStreamAsync(EndpointPair) retourne un IOutputStream lorsqu’elle se termine correctement. L’écriture dans ce flux envoie des datagrammes à l’hôte distant et au nom de service spécifiés. IOutputStream envoie toujours au nom d’hôte distant et au nom du service distant spécifiés dans la méthode ConnectAsync.

La propriété RemoteHostName du EndpointPair transmis dans le paramètre endpointPair peut contenir le nom d’hôte ou l’adresse IP de la destination distante. La propriété RemoteServiceName du EndpointPair transmis dans le paramètre endpointPair peut contenir le nom du service ou un port UDP de la destination distante. Si la propriété RemoteHostName contient un nom d’hôte, la méthode GetOutputStreamAsync(EndpointPair) entraîne la résolution du nom d’hôte distant. Si la propriété RemoteServiceName contient un nom de service, la méthode GetOutputStreamAsync entraîne la résolution du nom du service distant sur un port UDP.

Les propriétés RemoteHostName et RemoteServiceName doivent être fournies sur l’objet EndpointPair passé dans le paramètre endpointPair . Si RemoteHostName a la valeur null ou RemoteServiceName est null ou une chaîne vide, une erreur se produit.

Si l’objet EndpointPair transmis dans le paramètre endpointPair contient une propriété Null LocalHostName , le système fournit l’adresse IP locale qui sera utilisée. Si l’objet EndpointPair transmis dans le paramètre endpointPair contient une chaîne vide pour la propriété LocalServiceName , le système fournit le port UDP local qui sera utilisé.

Il existe deux façons d’utiliser un DatagramSocket pour envoyer des datagrammes UDP à une destination réseau distante :

Les méthodes GetOutputStreamAsync permettent à une application d’envoyer des datagrammes UDP à l’aide d’un objet DatagramSocket à plusieurs destinations réseau. Chaque fois que la méthode GetOutputStreamAsync(EndpointPair) est appelée, l’application peut définir des valeurs différentes pour les membres RemoteHostName et RemoteServiceName dans le paramètre endpointPair .

Pour recevoir des données à partir d’un point de terminaison distant sur l’objet DatagramSocket , une application doit affecter l’événement MessageReceived à un gestionnaire d’événements, puis appeler la méthode BindEndpointAsync ou BindServiceNameAsync pour lier le DatagramSocket à un nom de service local ou à un port UDP avant d’appeler la méthode GetOutputStreamAsync. Le gestionnaire d’événements MessageReceived doit être défini avant toute opération de liaison ou de connexion, sinon une erreur se produit.

L’ordre typique des opérations est le suivant :

  1. Créez le DatagramSocket.
  2. Utilisez la propriété Control pour récupérer un objet DatagramSocketControl et définir tous les contrôles avancés. Cette étape n’est normalement pas nécessaire pour la plupart des applications.
  3. Attribuez l’événement MessageReceived à un gestionnaire d’événements.
  4. Appelez la méthode GetOutputStreamAsync(EndpointPair) pour obtenir le OutputStream pour envoyer des données au point de terminaison distant. La méthode GetOutputStreamAsync(EndpointPair) lie également datagramSocket à un nom de service local ou à un port UDP et à un nom d’hôte local ou une adresse IP à l’aide du paramètre endpointPair .
  5. Le gestionnaire d’événements MessageReceived est appelé chaque fois qu’un message du point de terminaison distant arrive. Les méthodes GetOutputStreamAsync diffèrent également des méthodes ConnectAsync lorsqu’une application utilise la méthode BindEndpointAsync ou BindServiceNameAsync pour lier un nom de service local ou un port UDP. Avec les méthodes GetOutputStreamAsync , l’application reçoit des paquets provenant de n’importe quelle destination distante envoyée au nom du service local ou au port UDP. Avec les méthodes ConnectAsync , l’application reçoit uniquement les paquets de la destination distante passés en tant que paramètres aux méthodes ConnectAsync .

La méthode BindServiceNameAsync(String, NetworkAdapter) peut être utilisée pour spécifier une carte réseau avant d’appeler la méthode GetOutputStreamAsync(EndpointPair). L’adaptateur spécifié est utilisé pour l’opération de liaison. Si après avoir appelé BindServiceNameAsync(String, NetworkAdapter) et que le paramètre endpointPair passé à GetOutputStreamAsync(EndpointPair) spécifie un LocalHostName, la méthode GetOutputStreamAsync(EndpointPair) échoue.

Voir aussi

S’applique à

GetOutputStreamAsync(HostName, String)

Démarre une opération pour obtenir un IOutputStream vers une destination distante spécifiée par un nom d’hôte distant et un nom de service distant qui peuvent ensuite être utilisés pour envoyer des données réseau.

public:
 virtual IAsyncOperation<IOutputStream ^> ^ GetOutputStreamAsync(HostName ^ remoteHostName, Platform::String ^ remoteServiceName) = GetOutputStreamAsync;
/// [Windows.Foundation.Metadata.Overload("GetOutputStreamAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<IOutputStream> GetOutputStreamAsync(HostName const& remoteHostName, winrt::hstring const& remoteServiceName);
[Windows.Foundation.Metadata.Overload("GetOutputStreamAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<IOutputStream> GetOutputStreamAsync(HostName remoteHostName, string remoteServiceName);
function getOutputStreamAsync(remoteHostName, remoteServiceName)
Public Function GetOutputStreamAsync (remoteHostName As HostName, remoteServiceName As String) As IAsyncOperation(Of IOutputStream)

Paramètres

remoteHostName
HostName

Nom d’hôte distant ou adresse IP distante.

remoteServiceName
String

Platform::String

winrt::hstring

Nom du service distant ou port UDP distant.

Retours

IOutputStream qui représente l’opération asynchrone.

Attributs

Configuration requise pour Windows

Fonctionnalités de l’application
ID_CAP_NETWORKING [Windows Phone]

Remarques

La méthode [GetOutputStreamAsync(HostName, String) sur un DatagramSocket est utilisée pour démarrer une opération permettant d’obtenir un IOutputStream vers une destination réseau distante spécifiée par un nom d’hôte distant et un nom de service distant. IOutputStream peut ensuite être utilisé pour envoyer des données à la destination distante.

La méthode [GetOutputStreamAsync(HostName, String) retourne un IOutputStream lorsqu’elle se termine correctement. L’écriture dans ce flux envoie des datagrammes à l’hôte distant et au nom de service spécifiés. IOutputStream envoie toujours au nom d’hôte distant et au nom du service distant spécifiés dans la méthode ConnectAsync.

Le paramètre remoteHostName peut contenir le nom d’hôte ou l’adresse IP de la destination distante. Le paramètre remoteServiceName peut contenir le nom du service ou un port UDP de la destination distante. Si le paramètre remoteHostName contient un nom d’hôte, la méthode [GetOutputStreamAsync(HostName, String) entraîne la résolution de noms du nom d’hôte distant. Si le paramètre remoteServiceName contient un nom de service, la méthode [GetOutputStreamAsync(HostName, String) entraîne la résolution du nom du service distant sur un port UDP.

Les paramètres remoteHostName et remoteServiceName doivent être fournis. Si le paramètre remoteHostName a la valeur null ou si le paramètre remoteServiceName a la valeur null ou une chaîne vide, une erreur se produit.

Il existe deux façons d’utiliser un DatagramSocket pour envoyer des datagrammes UDP à une destination réseau distante :

  • Utilisez l’une des méthodes GetOutputStreamAsync.
  • Après un appel réussi à l’une des méthodes ConnectAsync , transmettez la propriété OutputStream à un objet DataWriter et utilisez des méthodes sur l’objet DataWriter pour envoyer des données.

Les méthodes GetOutputStreamAsync permettent à une application d’envoyer des datagrammes UDP à l’aide d’un objet DatagramSocket à plusieurs destinations réseau. Chaque fois que la méthode [GetOutputStreamAsync(HostName, String) est appelée, l’application peut définir des valeurs différentes pour les paramètres remoteHostName et remoteServiceName .

Les méthodes ConnectAsync permettent à une application d’envoyer des datagrammes UDP à l’aide d’un objet DatagramSocket à une destination réseau unique.

Pour recevoir des données à partir d’un point de terminaison distant sur l’objet DatagramSocket , une application doit affecter l’événement MessageReceived à un gestionnaire d’événements, puis appeler la méthode BindEndpointAsync ou BindServiceNameAsync pour lier le DatagramSocket à un nom de service local ou à un port UDP avant d’appeler la méthode GetOutputStreamAsync. Le gestionnaire d’événements MessageReceived doit être défini avant toute opération de liaison ou de connexion, sinon une erreur se produit.

L’ordre typique des opérations est le suivant :

  1. Créez le DatagramSocket.
  2. Utilisez la propriété Control pour récupérer un objet DatagramSocketControl et définir tous les contrôles avancés. Cette étape n’est normalement pas nécessaire pour la plupart des applications.
  3. Attribuez l’événement MessageReceived à un gestionnaire d’événements.
  4. Liez le DatagramSocket à un nom de service local ou à un port UDP.
  5. Le gestionnaire d’événements MessageReceived est appelé chaque fois qu’un message du point de terminaison distant arrive.
  6. Appelez la méthode GetOutputStreamAsync pour obtenir outputStream pour envoyer des données au point de terminaison distant. Vous pouvez utiliser les informations contenues dans le DatagramSocketMessageReceivedEventArgs du gestionnaire d’événements MessageReceived pour établir un OutputStream avec le point de terminaison distant qui a créé un message entrant spécifique. Les méthodes GetOutputStreamAsync diffèrent également de la méthode ConnectAsync lorsqu’une application utilise la méthode BindEndpointAsync ou BindServiceNameAsync pour se lier à un nom de service local ou à un port UDP. Avec les méthodes GetOutputStreamAsync, l’application reçoit des paquets provenant de n’importe quelle destination distante envoyée au nom du service local ou au port UDP. Avec les méthodes ConnectAsync , l’application reçoit uniquement les paquets de la destination distante passés en tant que paramètres aux méthodes ConnectAsync .

Voir aussi

S’applique à