room_broadcast
room_broadcast Sample
Overview
Starting the Server in Your Local Environment
Explanation of the room_broadcast Sample
// diarkis = Diarkis::DiarkisAllocShared<DiarkisInterface>(uid); ... // Setup P2P module diarkis->SetupP2P(); // Setup Room module diarkis->SetupRoom(false);diarkis->RandomJoinRoom(10, 60, 0, true); // Wait for DiarkisRoomBase::OnRoomJoin while (diarkis->GetRoomBase()->IsJoin() == false) { std::this_thread::sleep_for(std::chrono::milliseconds(30)); }while (1) { Diarkis::StdVector<Diarkis::StdString> members; diarkis->GetRoomBase()->SendGetMemberIDs(); diarkis->GetRoomBase()->GetRoomMembers(members); if (members.size() == NumPeer) { break; } std::this_thread::sleep_for(std::chrono::milliseconds(2000)); }diarkis->GetRoomBase()->SendBroadcastToRoom(buff, bReliable);if (Diarkis::StdString(uid.c_str()) == diarkis->GetRoomBase()->GetOwnerUID()) { // Retrieve address list of each member's connection diarkis->GetRoomBase()->SendStartP2PSync(); }diarkis->GetP2PBase()->SendBroadcast(buff, RudpType::UNRELIABLE_UNORDERED);// Leave the Room diarkis->SendLeaveRoom(); // Wait for DiarkisRoomBase::OnRoomLeave while (diarkis->GetRoomBase()->IsLeave() == false) { std::this_thread::sleep_for(std::chrono::milliseconds(30)); }
Notes
最終更新
役に立ちましたか?

