Megosztás a következőn keresztül:


Csatlakozás társcsoporthoz

Ez a témakör azt ismerteti, hogyan csatlakozik egy alkalmazás egy társcsoporthoz a társcsoport-csoportosítási API-k használatával.

Társcsoporthoz való csatlakozás

Társcsoporthoz való csatlakozáshoz hívja meg PeerGroupJoin, adja meg a társ és a meghívó identitásnevét (és ha a meghívásban szereplő felhőnév nem egyértelmű, a PNRP felhőnevét).

Ha sikeres, PeerGroupJoin egy fogantyút ad vissza a társcsoportnak.

Ha a társ korábban csatlakozott a társcsoporthoz, majd bezárta a leírót, a társcsoportot újra meg kell nyitni a PeerGroupOpen meghívásával, és a társcsoport nevét kell megadni. Ez a hívás egy új társcsoport-leírót ad vissza.

Miután sikeresen csatlakozott a társcsoporthoz, a társ közvetlenül csatlakozhat a társcsoporthoz, és megkezdheti az interakciót PeerGroupConnectmeghívásával. A csatlakozás után a társ "online" állapotúnak minősül.

Ha egy alkalmazás jelenleg nem lép kapcsolatba a csoporttal, az "offline" maradhat. Ha úgy dönt, hogy későbbi időpontban közvetlenül részt vesz a társcsoportban, egy későbbi PeerGroupConnect hívás online állapotba hozza. Miután egy társ csatlakozott a társcsoporthoz, legalább egyszer csatlakoznia kell ahhoz, hogy közzétehesse a rekordokat a társcsoportban.

Társcsoport megnyitása csatlakozás nélkül (offline)

Előfordulhat, hogy szeretné, ha egy alkalmazás csatlakozik egy társcsoporthoz, de közvetlenül nem vesz részt benne, rekordfrissítéseket fogad és tesz közzé, de nem küld vagy fogad adatüzeneteket. Az alkalmazás közvetlenül az PeerGroupCreate, PeerGroupJoinvagy PeerGroupOpen meghívása után van ebben az "offline" állapotban.

Az offline alkalmazások bármikor online állapotba léphetnek PeerGroupConnectmeghívásával. Csatlakozás után a társcsoport nem válthat offline módba, amíg az identitáshoz és a csoport megosztásához társított összes többi alkalmazás is nem bontja a kapcsolatot vele.

A társcsoport egy megosztott erőforrás, amely ugyanazt a társcsoportot több alkalmazás számára is elérhetővé tette. Ha több alkalmazás is ugyanazzal az identitással és Windows-felhasználóval használja ugyanazt a vegyes csoportot, akkor ugyanazt az alapul szolgáló adatbázist és kapcsolatokat (szomszédos és közvetlen) osztják meg. Ha ezen alkalmazások bármelyike meghívja PeerGroupConnect, az identitáshoz/a csoportban részt vevő felhasználóhoz tartozó összes többi alkalmazás is csatlakozik a csoporthoz. Ha egy alkalmazás hozzáad egy rekordot, amíg a csoport offline állapotban van, más alkalmazások is láthatják. Ennek eredményeképpen az alkalmazásnak bármikor készen kell állnia az online használatra.

Csatlakozás társcsoporthoz (online)

A csoporton való részvétel megkezdéséhez hívja meg PeerGroupConnect a csoport létrehozása, csatlakoztatása vagy megnyitása után. Ebben az állapotban a közvetlen kapcsolatok az ugyanabban a csoportban részt vevő más társokkal is megnyithatók PeerGroupOpenDirectConnectionmeghívásával.

Annak észleléséhez, hogy egy kapcsolati kísérlet sikertelen volt-e, regisztráljon a PEER_GROUP_EVENT_CONNECTION_FAILED eseményre. Ez az esemény akkor jön létre, ha a csoportosítási infrastruktúra nem talál másik tagot, amelyhez csatlakozni tud, vagy ha a kapcsolat a csoportadatbázis szinkronizálása előtt meghiúsul, és nem hozható létre másik kapcsolat.

Bár a társon futó és ugyanabban a csoportban azonos társi identitással rendelkező alkalmazások offline állapotban is lehetnek, a PeerGroupConnect egyik alkalmazás általi meghívása az összes alkalmazás online állapotba helyezését eredményezi.

Ha a társ egyik alkalmazása is csatlakozott a csoporthoz, a PeerGroupJoin vagy PeerGroupOpen meghívást kérő egyéb alkalmazások is azonnal csatlakoznak. Ha egy alkalmazás meghívja a PeerGroupClosehívást, a fogantyú csak az adott alkalmazás számára zárul be. Így, amikor az alkalmazás hívja a PeerGroupOpen függvényt, egy új csoportfogantyút kap vissza, és az alkalmazás azonnal online állapotba kerül, ha az ugyanabban a csoportban részt vevő egyéb alkalmazások továbbra is csatlakoznak.

Adatok küldése és fogadása

A csoport adott tagcsomópontjai közötti adatok küldéséhez és fogadásához közvetlen kapcsolatokat kell létesíteni azokkal a tagokkal, amelyekkel kapcsolatba kíván lépni. Közvetlen kapcsolat létrehozása a PeerGroupOpenDirectConnectionaszinkron hívásával történik, ahol átadjuk egy csatlakoztatott csoport leíróját és a csoporton belüli, csatlakozni kívánt társ identitását. Ez a metódus egy kapcsolatazonosítót ad vissza. Ha a hívás sikeres, a rendszer PEER_GROUP_EVENT_DIRECT_CONNECTION eseményt indít el a társon, és érvényesíti a kapcsolatazonosítót.

Ha más online társaktól közvetlen kapcsolatokat szeretne létesíteni, regisztráljon a PEER_GROUP_EVENT_DIRECT_CONNECTION eseményre egy PeerGroupRegisterEventhívással.

Miután sikeresen létrejött a közvetlen kapcsolat, az alkalmazás megkezdheti az adatok küldését PeerGroupSendDatafelé irányuló hívásokkal, és átadhatja az érvényes kapcsolatazonosítót. A többrészes adattovábbítások sorrendjét PeerGroupSendDatakezeli. Az alkalmazásoknak azonban megfelelő protokollvermet kell implementálniuk az API-hívás által visszaadott átlátszatlan adatok kezeléséhez.

Ha közvetlen kapcsolaton keresztül szeretne adatokat fogadni, az alkalmazásnak regisztrálnia kell az PEER_GROUP_EVENT_INCOMING_DATA eseményre PeerGroupRegisterEvent. Az eseménykezelő feladata az átlátszatlan adatok beszerzése és megrendelése, valamint az alkalmazásnak való átadása. A rendszer az eseménykezelőben az adatokat úgy szerzi be, hogy a regisztrált események leírójával meghívja a PeerGroupGetEventData függvényt.

A közvetlen kapcsolat lezárása a PeerGroupCloseDirectConnection meghívásával történik, a kapcsolatazonosító átadásával, amelyet korábban a PeerGroupOpenDirectConnection meghívása során kaptak, vagy amelyet a PEER_EVENT_GROUP_DIRECT_CONNECTION eseményadatai tartalmaztak.