TCP か UDP クライアントを使って Field をセットアップする

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);