Arbeiten mit Graphen
Bei der Arbeit mit Peergraphen müssen Funktionen in einer bestimmten Reihenfolge aufgerufen werden. Der Aufruffluss hängt davon ab, ob Sie ein Peerdiagramm erstellen oder öffnen. In diesem Thema wird der Ablauf von Funktionsaufrufen in einer einfachen Peergraphanwendung beschrieben.
Starten eines Graphen
Bevor eine Anwendung eine Funktion in der Peer Graphing-API aufruft, muss PeerGraphStartup aufgerufen werden, um die Peer Graphing-API für eine Anwendung zu initialisieren und dann die unterstützte Version festzulegen.
Erstellen eines Peergraphs
Das folgende Verfahren identifiziert den Ablauf von Aufrufen zum Erstellen eines Peergraphen.
Wichtig
Nur ein Peer sollte PeerGraphCreate aufrufen. Alle anderen Peers sollten PeerGraphOpen aufrufen. Mehrere Aufrufe von PeerGraphErstellen eines Graphen ungültig.
Erstellen Sie ein Peerdiagramm. Rufen Sie PeerGraphErstellen auf.
Registrieren Sie sich für Peerereignisse. Rufen Sie PeerGraphRegisterEvent auf.
Hinweis
Weitere Informationen zum Registrieren von Peerereignissen finden Sie unter Ereignisinfrastruktur.
Lauschen auf Verbindungen mit einem Peergraphen. Rufen Sie PeerGraphListen auf.
Führen Sie anwendungsabhängige Funktionen für den Rest der Laufzeit aus, z. B. Verarbeiten von Peerereignissen und Arbeiten mit Verbindungen.
Schließen Sie die Verbindung mit einem Peerdiagramm. Rufen Sie PeerGraphClose auf.
Öffnen eines Peergraphs
Der Ablauf von Funktionsaufrufen zum Öffnen eines Peerdiagramms hängt vom Rückgabewert des Aufrufs von PeerGraphOpen ab. Die wichtigsten Werte sind S_OK und PEER_S_DATA_CREATED, die in den folgenden Abschnitten dieses Themas erläutert werden.
Hinweis
Wenn ein Aufruf von PeerGraphOpen nicht S_OK oder PEER_S_DATA_CREATED zurückgibt, behandeln Sie den Fehler.
Wenn PeerGraphOpen S_OK zurückgibt
Wenn ein Aufruf von PeerGraphOpenS_OK zurückgibt, wurden ein Peergraph und eine vorhandene Datenbank geöffnet. Das folgende Verfahren gibt an, was Sie tun können, um ein Peerdiagramm zu öffnen, wenn ein Aufruf von PeerGraphOpenS_OK
Registrieren Sie sich für Peerereignisse. Rufen Sie PeerGraphRegisterEvent auf.
Hinweis
Weitere Informationen zum Registrieren von Ereignissen finden Sie unter Ereignisinfrastruktur.
Suchen Sie einen Knoten. Dies ist ein Prozess, der außerhalb der Peer graphing-Infrastruktur mithilfe einer von Ihnen identifizierten Methode oder Anwendung ausgeführt wird. Die Peer graphing-API bietet keinen spezifischen Mechanismus zum Suchen eines ersten Graphknotens, mit dem eine Verbindung hergestellt werden soll. Eine Anwendung muss einen anderen Mechanismus verwenden, z. B. die PNRP-API (Peer Name Resolution Protocol ), um den ursprünglichen Knoten zu suchen.
Wenn ein Knoten gefunden wird, stellen Sie eine Verbindung mit dem Knoten her. Rufen Sie PeerGraphConnect auf, und rufen Sie dann PeerGraphListen auf, um auf Verbindungen mit dem Peergraphen zu lauschen.
Hinweis
Wenn kein Knoten gefunden wird, rufen Sie PeerGraphConnect und PeerGraphListen nicht auf.
Führen Sie anwendungsabhängige Funktionen für den Rest der Laufzeit aus, z. B. Verarbeiten von Peerereignissen und Arbeiten mit Verbindungen, je nachdem, ob der Knoten mit dem Peerdiagramm verbunden ist oder nicht. Beispielsweise kann die Anwendung ein Timeout auswählen oder in regelmäßigen Abständen eine Ermittlung für einen aktiven Knoten im Diagramm durchführen.
Schließen Sie die Verbindung mit dem Peerdiagramm. Rufen Sie PeerGraphClose auf.
Wenn PeerGraphOpen PEER_S_DATA_CREATED zurückgibt
Wenn PeerGraphOpenPEER_S_DATA_CREATED zurückgibt, bedeutet dies, dass eine vorhandene Datenbank für ein Peerdiagramm nicht gefunden, eine neue Datenbank erstellt wird und dies das erste Mal ist, wenn sie geöffnet wird. Um einen Peergraphen zu verwenden oder darauf zu lauschen, muss ein Peer mit einem Peergraphen verbunden und mit diesem synchronisiert werden.
Das folgende Verfahren gibt an, was Sie tun können, um ein Peerdiagramm zu öffnen, wenn ein Aufruf von PeerGraphOpenPEER_S_DATA_CREATED zurückgibt.
Öffnen Sie ein Peerdiagramm. Rufen Sie PeerGraphOpen auf.
Registrieren Sie sich für Peerereignisse. Rufen Sie PeerGraphRegisterEvent auf.
Hinweis
Weitere Informationen zum Registrieren von Peerereignissen finden Sie unter Ereignisinfrastruktur.
Suchen Sie einen Knoten. Dies ist ein Prozess, der außerhalb der Peer graphing-Infrastruktur mithilfe einer von Ihnen identifizierten Methode oder Anwendung ausgeführt wird. Die Peer graphing-API bietet keinen spezifischen Mechanismus zum Suchen eines ersten Graphknotens, mit dem eine Verbindung hergestellt werden soll. Eine Anwendung muss einen anderen Mechanismus verwenden, z. B. die PNRP-API (Peer Name Resolution Protocol ), um den ursprünglichen Knoten zu suchen.
Wenn ein Knoten gefunden wird, stellen Sie eine Verbindung mit dem Knoten her. Rufen Sie PeerGraphConnect auf, und rufen Sie dann PeerGraphListen auf, um auf Verbindungen mit dem Peergraphen zu lauschen.
Hinweis
Wenn kein Knoten gefunden wird, rufen Sie PeerGraphConnect und PeerGraphListen nicht auf.
Führen Sie anwendungsabhängige Funktionen für den Rest der Laufzeit aus, z. B. Verarbeiten von Peerereignissen und Arbeiten mit Verbindungen, je nachdem, ob der Knoten mit dem Peerdiagramm verbunden ist oder nicht. Beispielsweise kann die Anwendung ein Timeout auswählen oder in regelmäßigen Abständen eine Ermittlung für einen aktiven Knoten im Diagramm durchführen.
Schließen Sie die Verbindung mit dem Peerdiagramm. Rufen Sie PeerGraphClose auf.