PeerWatcher Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Détecte dynamiquement les applications homologues dans la plage sans fil.
public ref class PeerWatcher sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class PeerWatcher final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class PeerWatcher
Public NotInheritable Class PeerWatcher
- Héritage
- Attributs
Configuration requise pour Windows
Famille d’appareils |
Windows 10 (introduit dans 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
|
API contract |
Windows.Foundation.UniversalApiContract (introduit dans v1.0)
|
Fonctionnalités de l’application |
proximity
|
Remarques
Vous pouvez utiliser la méthode FindAllPeersAsync pour obtenir la liste de tous les homologues dans la plage. Toutefois, la méthode FindAllPeersAsync recherche les homologues une fois, puis se termine. Vous pouvez également utiliser la classe PeerWatcher pour rechercher des pairs et obtenir des mises à jour à mesure qu’ils sont trouvés et mettre à jour de manière incrémentielle votre liste d’applications homologues disponibles. PeerWatcher recherche en continu les nouvelles applications homologues dans la plage et supprime les applications homologues obsolètes. Vous pouvez mettre à jour votre liste d’applications homologues en gérant l’événement Added , qui se produit lorsqu’une nouvelle application homologue est trouvée, et l’événement Removed qui se produit lorsqu’une application homologue obsolète est supprimée. PeerWatcher continue à analyser jusqu’à ce que vous appeliez la méthode Stop, ou les méthodes PeerFinder.FindAllPeersAsync ou PeerFinder.ConnectAsync .
Important
Pour Windows Phone applications 8.x, l’appel de PeerFinder.ConnectAsync à partir d’un gestionnaire d’événements EnumerationCompleted, Added ou Updated échoue. Au lieu de cela, appelez-le en dehors de ces gestionnaires d’événements, par exemple, lorsque l’utilisateur a explicitement choisi de se connecter à un homologue.
Pour créer un instance de la classe PeerWatcher, appelez la méthode PeerFinder.Start, puis appelez la méthode CreateWatcher.
private PeerWatcher _peerWatcher;
private bool _peerWatcherIsRunning = false;
private bool _peerFinderStarted = false;
// The list of peers discovered by the PeerWatcher.
ObservableCollection<PeerInformation> _discoveredPeers = new ObservableCollection<PeerInformation>();
void PeerFinder_StartPeerWatcher(object sender, RoutedEventArgs e)
{
if (!_peerFinderStarted)
{
// PeerFinder must be started first.
return;
}
if (_peerWatcherIsRunning)
{
// PeerWatcher is already running.
return;
}
try
{
if (_peerWatcher == null)
{
_peerWatcher = PeerFinder.CreateWatcher();
// Add PeerWatcher event handlers. Only add handlers once.
_peerWatcher.Added += PeerWatcher_Added;
_peerWatcher.Removed += PeerWatcher_Removed;
_peerWatcher.Updated += PeerWatcher_Updated;
_peerWatcher.EnumerationCompleted += PeerWatcher_EnumerationCompleted;
_peerWatcher.Stopped += PeerWatcher_Stopped;
}
// Empty the list of discovered peers.
_discoveredPeers.Clear();
// Start the PeerWatcher.
_peerWatcher.Start();
_peerWatcherIsRunning = true;
}
catch (Exception ex)
{
// Exceptions can occur if PeerWatcher.Start is called multiple times or
// PeerWatcher.Start is called the PeerWatcher is stopping.
}
}
protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
{
if (_peerWatcher != null)
{
// Remove event handlers.
_peerWatcher.Added -= PeerWatcher_Added;
_peerWatcher.Removed -= PeerWatcher_Removed;
_peerWatcher.Updated -= PeerWatcher_Updated;
_peerWatcher.EnumerationCompleted -= PeerWatcher_EnumerationCompleted;
_peerWatcher.Stopped -= PeerWatcher_Stopped;
_peerWatcher = null;
}
}
Propriétés
Status |
Obtient l’état actuel de l’objet PeerWatcher . |
Méthodes
Start() |
Commencez à rechercher dynamiquement des applications homologues dans la plage sans fil. |
Stop() |
Arrêtez la recherche dynamique d’applications homologues dans la plage sans fil. |
Événements
Added |
Se produit lorsqu’une application homologue se trouve dans la plage sans fil. |
EnumerationCompleted |
Se produit une fois qu’une opération d’analyse est terminée et que toutes les applications homologues dans la plage sans fil ont été trouvées. |
Removed |
Se produit lorsqu’une application homologue n’est plus dans la plage sans fil. |
Stopped |
Se produit lorsque l’objet PeerWatcher a été arrêté. |
Updated |
Se produit lorsque le DisplayName ou DiscoveryData d’une application homologue dans la plage sans fil a changé. |