Diarkis C++Client Library API Document
DiarkisUdpBase クラス

UDP機能を簡単に使用するためにIDiarkisUdpクラスをラップする基本クラス [詳解]

#include <DiarkisUdpBase.h>

DiarkisUdpBase 連携図

公開メンバ関数

 DiarkisUdpBase ()
 DiarkisUdpBaseのコンストラクタ [詳解]
 
virtual ~DiarkisUdpBase ()
 DiarkisUdpBase デストラクタ [詳解]
 
virtual void Setup (const std::shared_ptr< LoggerFactory > &loggerFactory)
 セットアップ関数 [詳解]
 
bool Connect (const char *endpoint, const char *clientKey, const struct AuthInfo *auth)
 UDPサーバーと接続します [詳解]
 
bool Connect (const std::string &endpoint, const std::string &clientKey, const struct AuthInfo *auth)
 Connect(const char*, const char*, const struct AuthInfo*)と同じ [詳解]
 
bool Connect (const char *endpoint, const std::string &clientKey, const std::vector< uint8_t > &sid, const std::vector< uint8_t > &key, const std::vector< uint8_t > &iv, const std::vector< uint8_t > &mackey)
 UDPサーバーと接続します [詳解]
 
bool ConnectAsync (const char *endpoint, const char *clientKey, const struct AuthInfo *auth)
 非同期スレッドを使用してサーバーに接続します [詳解]
 
bool ConnectAsync (const std::string &endpoint, const std::string &clientKey, const struct AuthInfo *auth)
 ConnectAsync()と同じです [詳解]
 
bool ConnectDualModeAsync (const char *endpoint, const char *clientKey, const struct AuthInfo *auth)
 サーバーにソケットデュアルモード(IPv6の明示的サポート)を使用して非同期で接続しようとします。 接続が成功した場合はGetConnectedEventが呼び出されます。 このメソッドでサーバーに接続すると、P2Pは無効になります。 [詳解]
 
bool ConnectDualModeAsync (const std::string &endpoint, const std::string &clientKey, const struct AuthInfo *auth)
 ConnectDualModeAsync()と同じです [詳解]
 
bool IsConnected ()
 UDPサーバーに接続しているかどうか [詳解]
 
bool IsAsyncConnectRunning () const
 非同期接続プロセスが実行中であるかどうかをチェックします。 [詳解]
 
bool GetAsyncConnectResult (System::Result &result) const
 非同期接続プロセスの結果を取得します。 [詳解]
 
void Disconnect ()
 UDPサーバーを切断します。 [詳解]
 
void Update ()
 クライアントライブラリ内のUDP処理を呼び出すアップデート関数。定期的に呼び出す必要があります。 [詳解]
 
void SetSchedulerAddNotifyEvent (std::function< void()> notifyEventFunc)
 UDPに関連するイベントがスケジューラに追加された時に実行される関数を設定します。 [詳解]
 
bool IsOffline ()
 UDPサーバーがシャットダウンの準備をしているかどうか [詳解]
 
std::shared_ptr< IDiarkisUdpGet ()
 IDiarkisUdpへのポインタを取得する [詳解]
 
void GetGlobalAddress (Diarkis::StdString &address)
 自分の外部IPアドレスを取得します。 [詳解]
 
bool GetLocalAddress (Diarkis::StdVector< Diarkis::StdString > &addressLists)
 自分自身のローカルIPアドレスを取得します。 [詳解]
 
bool SendPing (void)
 UDPサーバーにPingを送信します。 [詳解]
 
bool SendEcho (void)
 UDPサーバーにエコーを送信します。 [詳解]
 
bool SendMigrate (void)
 現在の接続を異なるサーバーに変更しようとします。 [詳解]
 
void ClearUdpBuffer (void)
 Socketの送受信バッファをクリアします [詳解]
 
bool SetSendThreadParam (const DiarkisThreadScheduler &scheduler)
 
bool SetRecvThreadParam (const DiarkisThreadScheduler &scheduler)
 UDP 受信スレッドの優先順位を指定します。 [詳解]
 
Result SendCheckNATType ()
 クライアントのNATタイプをチェックするためにサーバーにコマンドを送信します。 IDiarkisUdp::GetCheckNATTypeEvent(例:OnCheckNATType)で登録されたコールバックイベントがトリガーされます。 [詳解]
 

限定公開メンバ関数

virtual void OnConnect (const DiarkisConnectionEventArgs &args)
 サーバーに接続する際に呼び出されるコールバック関数。 [詳解]
 
virtual void OnDisconnect (bool isReconnect)
 サーバーから切断された際に呼び出されるコールバック関数。 [詳解]
 
virtual void OnOffline (void)
 サーバーがシャットダウンの準備をするときに呼び出されるコールバック関数。 [詳解]
 
virtual void OnResponse (const DiarkisResponseEventArgs &args, DiarkisTransportType tt)
 サーバーからレスポンスが受信されたときに呼び出されるコールバック関数。 [詳解]
 
virtual void OnPush (const DiarkisPushEventArgs &args, DiarkisTransportType tt)
 サーバーからプッシュ通知を受信した際に呼び出されるコールバック関数。 [詳解]
 
virtual void OnEcho (const DiarkisUdpEchoEventArgs &args)
 サーバーからエコーを受信した際に呼び出されるコールバック関数。 [詳解]
 
virtual void OnPing (const DiarkisUdpPingEventArgs &args)
 サーバーからpingを受信した時に呼び出されるコールバック関数。 [詳解]
 
virtual void OnNotification (const DiarkisPushEventArgs &args)
 サーバーから通知を受け取った時に呼び出されるコールバック関数。 [詳解]
 
virtual void OnCheckNATType (const DiarkisCheckNATTypeEventArgs &args)
 SendCheckNATTypeの応答によってトリガーされるコールバックイベント。 [詳解]
 
bool SetConnectionInfo (const char *clientKey, const uint8_t *sid, size_t sidSize, const uint8_t *key, size_t keySize, const uint8_t *iv, size_t ivSize, const uint8_t *mackey, size_t mackeySize)
 UDPサーバーに接続するための情報を設定します [詳解]
 
*~english *brief Set the information for connecting to UDP server *param[in] clientKey Client key *param[in] auth Authentication information *bool SetConnectionInfo (const Diarkis::StdString &clientKey, const AuthInfo &auth)
 UDPサーバーへの接続情報を設定する [詳解]
 

限定公開変数類

std::shared_ptr< IDiarkisUdpudp_
 IDiarkisUdpクラスへのポインタ [詳解]
 
std::shared_ptr< IDiarkisLoggerlogger_
 IDiarkisLoggerクラスへのポインタ [詳解]
 
Diarkis::StdVector< std::function< void()> > eventUnsubscriptions_
 ラムダ関数のリスト [詳解]
 
std::function< void()> schedulerAddNotifyEventFunc_
 UDP関連のイベントがスケジューラに追加された際に呼び出されるプロセスを設定します。 [詳解]
 
bool bOffline_
 サーバーがシャットダウンの準備をしているかどうか [詳解]
 
Diarkis::StdString ownGlobalAddress_
 私のグローバルIPアドレス [詳解]
 

詳解

UDP機能を簡単に使用するためにIDiarkisUdpクラスをラップする基本クラス

構築子と解体子

◆ DiarkisUdpBase()

DiarkisUdpBase::DiarkisUdpBase ( )

DiarkisUdpBaseのコンストラクタ

◆ ~DiarkisUdpBase()

DiarkisUdpBase::~DiarkisUdpBase ( )
virtual

DiarkisUdpBase デストラクタ

関数詳解

◆ Setup()

void DiarkisUdpBase::Setup ( const std::shared_ptr< LoggerFactory > &  loggerFactory)
virtual

セットアップ関数

ロガーとコールバック関数を登録します。

引数
[in]loggerFactoryロガークラスへのポインタ
呼び出し関係図:

◆ Connect() [1/3]

bool DiarkisUdpBase::Connect ( const char *  endpoint,
const char *  clientKey,
const struct AuthInfo auth 
)

UDPサーバーと接続します

引数
[in]endpointUDPサーバーアドレス
[in]clientKeyクライアントキー
[in]auth認証情報
呼び出し関係図:
被呼び出し関係図:

◆ Connect() [2/3]

bool DiarkisUdpBase::Connect ( const std::string &  endpoint,
const std::string &  clientKey,
const struct AuthInfo auth 
)

◆ Connect() [3/3]

bool DiarkisUdpBase::Connect ( const char *  endpoint,
const std::string &  clientKey,
const std::vector< uint8_t > &  sid,
const std::vector< uint8_t > &  key,
const std::vector< uint8_t > &  iv,
const std::vector< uint8_t > &  mackey 
)

UDPサーバーと接続します

引数
[in]endpointUDPサーバーアドレス
[in]clientKeyクライアントキー
[in]sidセッションID
[in]key暗号化キー
[in]iv暗号化初期化ベクトル(IV)
[in]mackeyMACキー
呼び出し関係図:

◆ ConnectAsync() [1/2]

bool DiarkisUdpBase::ConnectAsync ( const char *  endpoint,
const char *  clientKey,
const struct AuthInfo auth 
)

非同期スレッドを使用してサーバーに接続します

このメソッドは非同期接続プロセスを起動してから短い時間で完了します。
非同期接続プロセスの状態や結果を取得するには、IsAsyncConectRunning()とGetAsyncConnectResult()を使用できます。

引数
[in]endpointUDPサーバーアドレス
[in]clientKeyクライアントキー
[in]auth認証情報
呼び出し関係図:
被呼び出し関係図:

◆ ConnectAsync() [2/2]

bool DiarkisUdpBase::ConnectAsync ( const std::string &  endpoint,
const std::string &  clientKey,
const struct AuthInfo auth 
)

ConnectAsync()と同じです

呼び出し関係図:

◆ ConnectDualModeAsync() [1/2]

bool DiarkisUdpBase::ConnectDualModeAsync ( const char *  endpoint,
const char *  clientKey,
const struct AuthInfo auth 
)

サーバーにソケットデュアルモード(IPv6の明示的サポート)を使用して非同期で接続しようとします。 接続が成功した場合はGetConnectedEventが呼び出されます。 このメソッドでサーバーに接続すると、P2Pは無効になります。

引数
[in]endpointUDPサーバーアドレス
[in]clientKeyクライアントキー
[in]auth認証情報
呼び出し関係図:
被呼び出し関係図:

◆ ConnectDualModeAsync() [2/2]

bool DiarkisUdpBase::ConnectDualModeAsync ( const std::string &  endpoint,
const std::string &  clientKey,
const struct AuthInfo auth 
)

ConnectDualModeAsync()と同じです

呼び出し関係図:

◆ IsConnected()

bool DiarkisUdpBase::IsConnected ( )

UDPサーバーに接続しているかどうか

◆ IsAsyncConnectRunning()

bool DiarkisUdpBase::IsAsyncConnectRunning ( ) const

非同期接続プロセスが実行中であるかどうかをチェックします。

戻り値
非同期接続プロセスが実行中の場合はtrue

◆ GetAsyncConnectResult()

bool DiarkisUdpBase::GetAsyncConnectResult ( System::Result result) const

非同期接続プロセスの結果を取得します。

引数
[out]result非同期接続プロセスの System::Result
戻り値
メソッドが正常に処理されたかどうか

◆ Disconnect()

void DiarkisUdpBase::Disconnect ( )

UDPサーバーを切断します。

呼び出し関係図:

◆ Update()

void DiarkisUdpBase::Update ( )

クライアントライブラリ内のUDP処理を呼び出すアップデート関数。定期的に呼び出す必要があります。

◆ SetSchedulerAddNotifyEvent()

void DiarkisUdpBase::SetSchedulerAddNotifyEvent ( std::function< void()>  notifyEventFunc)

UDPに関連するイベントがスケジューラに追加された時に実行される関数を設定します。

◆ IsOffline()

bool DiarkisUdpBase::IsOffline ( )

UDPサーバーがシャットダウンの準備をしているかどうか

◆ Get()

std::shared_ptr< IDiarkisUdp > DiarkisUdpBase::Get ( )

IDiarkisUdpへのポインタを取得する

◆ GetGlobalAddress()

void DiarkisUdpBase::GetGlobalAddress ( Diarkis::StdString address)

自分の外部IPアドレスを取得します。

◆ GetLocalAddress()

bool DiarkisUdpBase::GetLocalAddress ( Diarkis::StdVector< Diarkis::StdString > &  addressLists)

自分自身のローカルIPアドレスを取得します。

◆ SendPing()

bool DiarkisUdpBase::SendPing ( void  )

UDPサーバーにPingを送信します。

サーバーから応答を受信すると、GetPingEvent()で登録されたコールバックイベント(例:OnPing)がトリガーされます。

◆ SendEcho()

bool DiarkisUdpBase::SendEcho ( void  )

UDPサーバーにエコーを送信します。

サーバーから応答が受信されると、GetEchoEvent() で登録されたコールバックイベント(例:OnEcho)がトリガーされます。

◆ SendMigrate()

bool DiarkisUdpBase::SendMigrate ( void  )

現在の接続を異なるサーバーに変更しようとします。

SID、暗号化キー、IV、およびMACキーは移行後に維持されます。

◆ ClearUdpBuffer()

void DiarkisUdpBase::ClearUdpBuffer ( void  )

Socketの送受信バッファをクリアします

◆ SetSendThreadParam()

bool DiarkisUdpBase::SetSendThreadParam ( const DiarkisThreadScheduler scheduler)

◆ SetRecvThreadParam()

bool DiarkisUdpBase::SetRecvThreadParam ( const DiarkisThreadScheduler scheduler)

UDP 受信スレッドの優先順位を指定します。

UDP 受信スレッドの優先順位を指定します。設定する場合は、Connect() 関数の前に呼び出さなければなりません。
呼び出されない場合、OS の標準スレッドポリシーと優先順位が適用されます。
ポリシーは Unix システムに対してのみ有効であり、指定されても Windows には影響しません。

引数
[in]schedulerスレッドスケジューリング設定。ポリシー、優先順位、および割り当てマスクを設定します。

◆ SendCheckNATType()

Result DiarkisUdpBase::SendCheckNATType ( )

クライアントのNATタイプをチェックするためにサーバーにコマンドを送信します。 IDiarkisUdp::GetCheckNATTypeEvent(例:OnCheckNATType)で登録されたコールバックイベントがトリガーされます。

◆ OnConnect()

void DiarkisUdpBase::OnConnect ( const DiarkisConnectionEventArgs args)
protectedvirtual

サーバーに接続する際に呼び出されるコールバック関数。

呼び出し関係図:

◆ OnDisconnect()

void DiarkisUdpBase::OnDisconnect ( bool  isReconnect)
protectedvirtual

サーバーから切断された際に呼び出されるコールバック関数。

呼び出し関係図:

◆ OnOffline()

void DiarkisUdpBase::OnOffline ( void  )
protectedvirtual

サーバーがシャットダウンの準備をするときに呼び出されるコールバック関数。

◆ OnResponse()

void DiarkisUdpBase::OnResponse ( const DiarkisResponseEventArgs args,
DiarkisTransportType  tt 
)
protectedvirtual

サーバーからレスポンスが受信されたときに呼び出されるコールバック関数。

呼び出し関係図:

◆ OnPush()

void DiarkisUdpBase::OnPush ( const DiarkisPushEventArgs args,
DiarkisTransportType  tt 
)
protectedvirtual

サーバーからプッシュ通知を受信した際に呼び出されるコールバック関数。

呼び出し関係図:

◆ OnEcho()

void DiarkisUdpBase::OnEcho ( const DiarkisUdpEchoEventArgs args)
protectedvirtual

サーバーからエコーを受信した際に呼び出されるコールバック関数。

呼び出し関係図:

◆ OnPing()

void DiarkisUdpBase::OnPing ( const DiarkisUdpPingEventArgs args)
protectedvirtual

サーバーからpingを受信した時に呼び出されるコールバック関数。

呼び出し関係図:

◆ OnNotification()

void DiarkisUdpBase::OnNotification ( const DiarkisPushEventArgs args)
protectedvirtual

サーバーから通知を受け取った時に呼び出されるコールバック関数。

呼び出し関係図:

◆ OnCheckNATType()

void DiarkisUdpBase::OnCheckNATType ( const DiarkisCheckNATTypeEventArgs args)
protectedvirtual

SendCheckNATTypeの応答によってトリガーされるコールバックイベント。

呼び出し関係図:

◆ SetConnectionInfo() [1/2]

bool DiarkisUdpBase::SetConnectionInfo ( const char *  clientKey,
const uint8_t *  sid,
size_t  sidSize,
const uint8_t *  key,
size_t  keySize,
const uint8_t *  iv,
size_t  ivSize,
const uint8_t *  mackey,
size_t  mackeySize 
)
protected

UDPサーバーに接続するための情報を設定します

引数
[in]clientKeyクライアントキー
[in]sidセッションID
[in]sidSizesidの長さ
[in]key暗号化キー
[in]keySizeキーの長さ
[in]iv暗号化の初期化ベクトル(IV)
[in]ivSizeivの長さ
[in]mackeyMACキー
[in]mackeySizemackeyの長さ
呼び出し関係図:
被呼び出し関係図:

◆ SetConnectionInfo() [2/2]

bool DiarkisUdpBase::SetConnectionInfo ( const Diarkis::StdString clientKey,
const AuthInfo auth 
)
protected

UDPサーバーへの接続情報を設定する

引数
[in]clientKeyクライアントキー
[in]auth認証情報
呼び出し関係図:

メンバ詳解

◆ udp_

std::shared_ptr<IDiarkisUdp> DiarkisUdpBase::udp_
protected

IDiarkisUdpクラスへのポインタ

◆ logger_

std::shared_ptr<IDiarkisLogger> DiarkisUdpBase::logger_
protected

IDiarkisLoggerクラスへのポインタ

◆ eventUnsubscriptions_

Diarkis::StdVector<std::function<void()> > DiarkisUdpBase::eventUnsubscriptions_
protected

ラムダ関数のリスト

◆ schedulerAddNotifyEventFunc_

std::function<void()> DiarkisUdpBase::schedulerAddNotifyEventFunc_
protected

UDP関連のイベントがスケジューラに追加された際に呼び出されるプロセスを設定します。

◆ bOffline_

bool DiarkisUdpBase::bOffline_
protected

サーバーがシャットダウンの準備をしているかどうか

◆ ownGlobalAddress_

Diarkis::StdString DiarkisUdpBase::ownGlobalAddress_
protected

私のグローバルIPアドレス


このクラス詳解は次のファイルから抽出されました: