Field はネットワーク・プロトコルに依存しませんが、メッセージの送受信の管理を UDP あるいは TCP クライアントに依存します。
TCP Client を使ってセットアップする
shared_ptr<IDiarkisField> field = shared_ptr<IDiarkisField>(DiarkisCreateField());
REG_EVENT(field->GetDisappearEvent(), [this](void*, const string& remoteUid)
{
this->OnDisappear(e);
});
REG_EVENT(field->GetResponseSyncInitEvent(), [this](void*, const vector<vector<uint8_t>>& list)
{
this->OnSyncInit(e);
});
REG_EVENT(field->GetSyncEvent(), [this](void*, const vector<uint8_t>& msg)
{
this->OnSync(e);
});
field->SetupAsTcp(diarkisTcpClient);
UDP Client を使ってセットアップする
shared_ptr<IDiarkisField> field = shared_ptr<IDiarkisField>(DiarkisCreateField());
REG_EVENT(field->GetDisappearEvent(), [this](void*, const string& remoteUid)
{
this->OnDisappear(e);
});
REG_EVENT(field->GetResponseSyncInitEvent(), [this](void*, const vector<vector<uint8_t>>& list)
{
this->OnSyncInit(e);
});
REG_EVENT(field->GetSyncEvent(), [this](void*, const vector<uint8_t>& msg)
{
this->OnSync(e);
});
field->SetupAsTcp(diarkisUdpClient);