Bagikan melalui


Cara Menyambungkan ke Grup Serekan

Topik ini membahas bagaimana aplikasi terhubung ke grup serekan menggunakan API Pengelompokan Serekan.

Bergabung dengan Grup Serekan

Untuk bergabung dengan grup serekan, panggil PeerGroupJoin, meneruskan nama identitas serekan dan undangan (dan nama cloud PNRP opsional, jika nama cloud dalam undangan ambigu).

Jika berhasil, PeerGroupJoin mengembalikan handel ke grup peer.

Jika serekan sebelumnya telah bergabung dengan grup serekan dan kemudian menutup handel, grup serekan harus dibuka kembali dengan memanggil PeerGroupOpen dan meneruskan nama grup serekan. Panggilan ini mengembalikan handel grup serekan baru.

Setelah grup serekan berhasil bergabung, rekan dapat terhubung langsung ke grup serekan dan mulai berinteraksi dengan memanggil PeerGroupConnect. Setelah terhubung, serekan dianggap "online".

Jika aplikasi tidak akan berinteraksi dengan grup pada saat itu, aplikasi dapat tetap "offline". Jika memilih untuk berpartisipasi langsung dalam grup serekan di instans selanjutnya, panggilan berikutnya ke PeerGroupConnect akan membuatnya online. Setelah serekan bergabung dengan grup serekan, rekan harus tersambung setidaknya sekali sebelum dapat menerbitkan rekaman ke grup serekan.

Membuka Grup Serekan Tanpa Menyambungkan (Offline)

Seringkali, Anda mungkin ingin aplikasi terhubung ke grup serekan tetapi tidak secara langsung berpartisipasi, menerima dan menerbitkan pembaruan rekaman tetapi tidak mengirim atau menerima pesan data. Aplikasi dalam status "offline" ini segera setelah PeerGroupCreate, PeerGroupJoin, atau PeerGroupOpen telah dipanggil.

Aplikasi offline dapat online kapan saja dengan memanggil PeerGroupConnect. Setelah tersambung, grup serekan tidak dapat offline sampai semua aplikasi lain yang terkait dengan identitas ini dan berbagi grup ini juga memiliki koneksi tertutup ke grup tersebut.

Grup serekan adalah sumber daya bersama, dengan grup serekan yang sama tersedia untuk beberapa aplikasi. Jika lebih dari satu aplikasi untuk identitas yang sama dan pengguna Windows menggunakan grup serekan yang sama, mereka juga berbagi database dan koneksi dasar yang sama (tetangga dan langsung). Jika salah satu aplikasi ini memanggil PeerGroupConnect, semua aplikasi lain untuk identitas/pengguna yang berpartisipasi dalam grup ini juga terhubung ke grup. Jika rekaman ditambahkan oleh satu aplikasi saat grup offline, aplikasi lain juga dapat melihatnya. Akibatnya, aplikasi harus siap untuk online kapan saja.

Menyambungkan ke Grup Serekan (Online)

Untuk mulai berpartisipasi dalam grup, panggil PeerGroupConnect setelah membuat, bergabung, atau membuka grup. Dalam status ini, koneksi langsung dapat dibuka dengan serekan lain yang berpartisipasi dalam grup yang sama dengan memanggil PeerGroupOpenDirectConnection.

Untuk mendeteksi apakah upaya koneksi gagal, daftar untuk peristiwa PEER_GROUP_EVENT_CONNECTION_FAILED. Kejadian ini dimunculkan jika infrastruktur pengelompokan tidak dapat menemukan anggota lain untuk disambungkan, atau jika koneksi gagal sebelum database grup disinkronkan dan koneksi lain tidak dapat dibuat.

Meskipun beberapa aplikasi yang dijalankan pada serekan dan berpartisipasi dalam grup yang sama dengan identitas serekan yang sama mungkin offline, panggilan ke PeerGroupConnect oleh salah satu aplikasi mengakibatkan semua aplikasi menjadi online.

Selain itu, jika satu aplikasi pada serekan telah terhubung ke grup, aplikasi lain yang memanggil PeerGroupJoin atau PeerGroupOpen juga segera terhubung. Jika aplikasi memanggil PeerGroupClose, handel ditutup hanya untuk aplikasi tersebut. Dengan demikian, panggilan berikutnya ke PeerGroupOpen oleh aplikasi mengembalikan handel grup baru, dan aplikasi segera online jika ada aplikasi lain yang berpartisipasi dalam grup yang sama masih terhubung.

Mengirim dan Menerima Data

Untuk mengirim dan menerima data antara simpul anggota tertentu dalam grup, koneksi langsung harus dibuat dengan anggota yang ingin Berinteraksi dengan Anda. Membuat koneksi langsung adalah panggilan asinkron ke PeerGroupOpenDirectConnection, meneruskan handel untuk grup yang terhubung serta identitas serekan dalam grup yang ingin Anda sambungkan. Metode ini akan mengembalikan ID koneksi. Jika panggilan berhasil, peristiwa PEER_GROUP_EVENT_DIRECT_CONNECTION dinaikkan pada peer, memvalidasi ID koneksi.

Untuk menerima koneksi langsung dari rekan online lainnya, daftar untuk peristiwa PEER_GROUP_EVENT_DIRECT_CONNECTION dengan panggilan ke PeerGroupRegisterEvent.

Setelah koneksi langsung berhasil dibuat, aplikasi dapat mulai mengirim data dengan panggilan ke PeerGroupSendData, meneruskan ID koneksi yang valid. Urutan transmisi data multibagian ditangani oleh PeerGroupSendData. Namun, aplikasi harus menerapkan tumpukan protokol yang tepat untuk menangani data buram yang dikembalikan oleh panggilan API ini.

Untuk menerima data melalui koneksi langsung, aplikasi harus mendaftar untuk peristiwa PEER_GROUP_EVENT_INCOMING_DATA dengan PeerGroupRegisterEvent. Penanganan aktivitas bertanggung jawab untuk mendapatkan dan memesan data buram, dan meneruskannya ke aplikasi. Data ini diperoleh dalam penanganan aktivitas dengan memanggil PeerGroupGetEventData dengan handel ke peristiwa terdaftar.

Koneksi langsung ditutup dengan memanggil PeerGroupCloseDirectConnection dan meneruskan ID koneksi yang diperoleh oleh panggilan sebelumnya ke PeerGroupOpenDirectConnection atau diterima dalam data peristiwa untuk PEER_EVENT_GROUP_DIRECT_CONNECTION.