Sdílet prostřednictvím


Práce s grafy

Při práci s partnerskými grafy musí být funkce volány v určitém pořadí. Tok volání závisí na tom, jestli vytváříte nebo otevíráte peerový graf. Toto téma identifikuje tok volání funkcí v jednoduché aplikaci peer graphu.

Spuštění grafu

Než aplikace zavolá funkci v rozhraní PEER Graphing API, PeerGraphStartup musí být volána k inicializaci rozhraní Peer Graphing API pro aplikaci a nastavení podporované verze.

Vytvoření sousedského grafu

Následující postup identifikuje tok volání pro vytvoření partnerského grafu.

Důležitý

Pouze jeden partner by měl volat PeerGraphCreate. Všichni ostatní peerové by měli volat PeerGraphOpen. Opakovaná volání funkce PeerGraphCreate způsobí zneplatnění grafu.

 

  • Vytvoř rovnocenný graf. Zavolat PeerGraphCreate.

  • Zaregistrujte se na akce pro kolegy. Volání PeerGraphRegisterEvent.

    Poznámka

    Další informace o registraci akcí kolegů naleznete v tématu Infrastruktury událostí.

     

  • Naslouchání připojení k partnerskému grafu. Volání PeerGraphListen.

  • Proveďte funkce závislé na aplikaci po zbytek běhu, například zpracování partnerských událostí a práci s připojeními.

  • Zavřete připojení k partnerskému grafu. Vyvolejte PeerGraphClose.

Otevření partnerského grafu

Tok volání funkcí pro otevření partnerského grafu závisí na návratové hodnotě volání PeerGraphOpen. Nejdůležitější hodnoty jsou S_OK a PEER_S_DATA_CREATED, které jsou vysvětleny v následujících částech tohoto tématu.

Poznámka

Pokud volání PeerGraphOpen nevrátí S_OK nebo PEER_S_DATA_CREATED, zpracujte chybu.

 

Když PeerGraphOpen vrátí S_OK

Když volání PeerGraphOpen vrátí S_OK, otevře se partnerský graf a existující databáze. Následující postup zjistí, co můžete udělat pro otevření peer-to-peer grafu, když volání PeerGraphOpen vrátí S_OK

  • Zaregistrujte se na akce pro kolegy. Volání PeerGraphRegisterEvent.

    Poznámka

    Další informace o registraci událostí naleznete v tématu Infrastruktury událostí.

     

  • Vyhledejte uzel. Jedná se o proces prováděný mimo infrastrukturu peer graphingu pomocí metody nebo aplikace, kterou identifikujete. Rozhraní Peer Graphing API neposkytuje konkrétní mechanismus pro vyhledání počátečního uzlu grafu pro připojení. Aplikace musí k vyhledání počátečního uzlu použít jiný mechanismus, například PROTOKOL PNRP (Peer Name Resolution Protocol) API.

  • Pokud se uzel najde, připojte se k němu. Nejprve volejte PeerGraphConnect, poté volejte PeerGraphListen pro naslouchání připojením k partnerskému grafu.

    Poznámka

    Pokud uzel nebyl nalezen, nevolejte PeerGraphConnect a PeerGraphListen.

     

  • Proveďte funkce závislé na aplikaci po zbytek běhu, například zpracování partnerských událostí a práce s připojeními v závislosti na tom, jestli je uzel připojený k partnerskému grafu, nebo ne. Aplikace se například může rozhodnout pro vypršení časového limitu nebo pravidelně provádět zjišťování aktivního uzlu v grafu.

  • Zavřete připojení k partnerskému grafu. Volání PeerGraphClose.

Když PeerGraphOpen vrátí PEER_S_DATA_CREATED

Když PeerGraphOpen vrátí PEER_S_DATA_CREATED, znamená to, že nenalezne-li se existující databáze partnerského grafu, je vytvořena nová databáze a je to poprvé, co je otevřena. Pokud chcete použít nebo naslouchat v partnerském grafu, musí být uživatel připojený a synchronizovaný s partnerským grafem.

Následující postup identifikuje, co můžete udělat pro otevření partnerského grafu, když volání PeerGraphOpen vrátí PEER_S_DATA_CREATED.

  • Otevřete peerový graf. Volání PeerGraphOpen.

  • Zaregistrujte se na akce pro kolegy. Volání PeerGraphRegisterEvent.

    Poznámka

    Pro více informací o registraci na partnerské akce viz Infrastruktura událostí.

     

  • Vyhledejte uzel. Jedná se o proces prováděný mimo infrastrukturu peer graphingu pomocí metody nebo aplikace, kterou identifikujete. Rozhraní Peer Graphing API neposkytuje konkrétní mechanismus pro vyhledání počátečního uzlu grafu pro připojení. Aplikace musí k vyhledání počátečního uzlu použít jiný mechanismus, například PROTOKOL PNRP (Peer Name Resolution Protocol) API.

  • Pokud se uzel najde, připojte se k němu. Zavolejte PeerGraphConnect, pak zavolejte PeerGraphListen, abyste naslouchali připojením k partnerskému grafu.

    Poznámka

    Pokud uzel nebyl nalezen, nevolejte PeerGraphConnect a PeerGraphListen.

     

  • Proveďte funkce závislé na aplikaci po zbytek běhu, například zpracování partnerských událostí a práce s připojeními v závislosti na tom, jestli je uzel připojený k partnerskému grafu, nebo ne. Aplikace se například může rozhodnout pro vypršení časového limitu nebo pravidelně provádět zjišťování aktivního uzlu v grafu.

  • Zavřete připojení k rovnocennému grafu. Volání PeerGraphClose.