![]() |
Diarkis C++Client Library API Document
|
UDP機能を簡単に使用するためにIDiarkisUdpクラスをラップする基本クラス [詳解]
#include <DiarkisUdpBase.h>
公開メンバ関数 | |
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< IDiarkisUdp > | Get () |
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) |
ソケットの送受信バッファをクリアします [詳解] | |
bool | SetSendThreadParam (const DiarkisThreadScheduler &scheduler) |
UDP送信スレッドの優先度を指定します。 [詳解] | |
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サーバーに接続するための情報を設定します [詳解] | |
bool | SetConnectionInfo (const Diarkis::StdString &clientKey, const AuthInfo &auth) |
UDPサーバーに接続するための情報を設定します [詳解] | |
限定公開変数類 | |
std::shared_ptr< IDiarkisUdp > | udp_ |
IDiarkisUdpクラスへのポインター [詳解] | |
std::shared_ptr< IDiarkisLogger > | logger_ |
IDiarkisLoggerクラスへのポインター [詳解] | |
Diarkis::StdVector< std::function< void()> > | eventUnsubscriptions_ |
ラムダ関数のリスト [詳解] | |
std::function< void()> | schedulerAddNotifyEventFunc_ |
UDP関連のイベントがスケジューラに追加された時に呼び出されるプロセスを設定します。 [詳解] | |
bool | bOffline_ |
サーバーがシャットダウンの準備をしているかどうか [詳解] | |
Diarkis::StdString | ownGlobalAddress_ |
私のグローバルIPアドレス [詳解] | |
UDP機能を簡単に使用するためにIDiarkisUdpクラスをラップする基本クラス
DiarkisUdpBase::DiarkisUdpBase | ( | ) |
DiarkisUdpBaseのコンストラクタ
|
virtual |
DiarkisUdpBaseのデストラクタ
|
virtual |
セットアップ機能
ロガーとコールバック関数を登録します。
[in] | loggerFactory | ロガークラスへのポインタ |
bool DiarkisUdpBase::Connect | ( | const char * | endpoint, |
const char * | clientKey, | ||
const struct AuthInfo * | auth | ||
) |
UDPサーバーと接続します
[in] | endpoint | UDPサーバーアドレス |
[in] | clientKey | クライアントキー |
[in] | auth | 認証情報 |
bool DiarkisUdpBase::Connect | ( | const std::string & | endpoint, |
const std::string & | clientKey, | ||
const struct AuthInfo * | auth | ||
) |
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] | endpoint | UDPサーバーのアドレス |
[in] | clientKey | クライアントキー |
[in] | sid | セッションID |
[in] | key | 暗号化キー |
[in] | iv | 暗号化初期化ベクトル(IV) |
[in] | mackey | MACキー |
bool DiarkisUdpBase::ConnectAsync | ( | const char * | endpoint, |
const char * | clientKey, | ||
const struct AuthInfo * | auth | ||
) |
サーバーに非同期スレッドを使って接続します
このメソッドは非同期の接続プロセスを起動した後、すぐに終了します。 非同期接続プロセスのステータスや結果を取得するために IsAsyncConnectRunning() と GetAsyncConnectResult() を使用できます。
[in] | endpoint | UDPサーバーのアドレス |
[in] | clientKey | クライアントキー |
[in] | auth | 認証情報 |
bool DiarkisUdpBase::ConnectAsync | ( | const std::string & | endpoint, |
const std::string & | clientKey, | ||
const struct AuthInfo * | auth | ||
) |
bool DiarkisUdpBase::ConnectDualModeAsync | ( | const char * | endpoint, |
const char * | clientKey, | ||
const struct AuthInfo * | auth | ||
) |
ソケットデュアルモード(IPv6の明示的サポート)を使用して非同期でサーバーに接続を試みます。 接続が成功した場合、GetConnectedEventが呼び出されます。 このメソッドでサーバーに接続すると、P2Pが無効になります。
[in] | endpoint | UDPサーバーアドレス |
[in] | clientKey | クライアントキー |
[in] | auth | 認証情報 |
bool DiarkisUdpBase::ConnectDualModeAsync | ( | const std::string & | endpoint, |
const std::string & | clientKey, | ||
const struct AuthInfo * | auth | ||
) |
bool DiarkisUdpBase::IsConnected | ( | ) |
UDPサーバーに接続しているかどうか
bool DiarkisUdpBase::IsAsyncConnectRunning | ( | ) | const |
非同期接続プロセスが実行されているかどうかをチェックします。
bool DiarkisUdpBase::GetAsyncConnectResult | ( | System::Result & | result | ) | const |
非同期接続プロセスの結果を取得します。
[out] | result | 非同期接続プロセスのSystem::Result |
void DiarkisUdpBase::Disconnect | ( | ) |
UDPサーバーを切断します。
void DiarkisUdpBase::Update | ( | ) |
クライアントライブラリ内のUDP処理を呼び出す更新関数。定期的に呼び出す必要があります。
void DiarkisUdpBase::SetSchedulerAddNotifyEvent | ( | std::function< void()> | notifyEventFunc | ) |
UDPに関連するイベントがスケジューラに追加された時に実行される関数を設定します。
bool DiarkisUdpBase::IsOffline | ( | ) |
UDPサーバーがシャットダウンの準備をしているかどうか
std::shared_ptr< IDiarkisUdp > DiarkisUdpBase::Get | ( | ) |
IDiarkisUdpへのポインタを取得します
void DiarkisUdpBase::GetGlobalAddress | ( | Diarkis::StdString & | address | ) |
自分の外部IPアドレスを取得します。
bool DiarkisUdpBase::GetLocalAddress | ( | Diarkis::StdVector< Diarkis::StdString > & | addressLists | ) |
自分自身のローカルIPアドレスを取得します。
bool DiarkisUdpBase::SendPing | ( | void | ) |
UDPサーバーにPingを送信します。
サーバーからレスポンスが受信されると、GetPingEvent()で登録されたコールバックイベント(例:OnPing)がトリガーされます。
bool DiarkisUdpBase::SendEcho | ( | void | ) |
UDPサーバーにエコーを送信します。
サーバーから応答が受信されると、GetEchoEvent()で登録されたコールバックイベント(例:OnEcho)がトリガーされます。
bool DiarkisUdpBase::SendMigrate | ( | void | ) |
現在の接続を別のサーバーに変更しようとします。
移行後もSID、暗号化キー、IV、およびMACキーは維持されます。
void DiarkisUdpBase::ClearUdpBuffer | ( | void | ) |
ソケットの送受信バッファをクリアします
bool DiarkisUdpBase::SetSendThreadParam | ( | const DiarkisThreadScheduler & | scheduler | ) |
UDP送信スレッドの優先度を指定します。
UDP送信スレッドの優先度を指定します。設定された場合は、Connect() 関数の前に呼び出す必要があります。
呼び出されない場合、OS標準のスレッドポリシーと優先度が適用されます。
ポリシーはUnixシステムにのみ有効な設定であり、Windowsに指定されても影響しません。
[in] | scheduler | スレッドスケジューリング設定。ポリシー、優先度、およびアフィニティ マスクを設定してください。 |
bool DiarkisUdpBase::SetRecvThreadParam | ( | const DiarkisThreadScheduler & | scheduler | ) |
UDP 受信スレッドの優先度を指定します。
UDP 受信スレッドの優先度を指定します。設定された場合は、Connect() 関数を呼び出す前に呼び出す必要があります。
呼び出されない場合、OS の標準スレッドポリシーと優先度が適用されます。
policy は Unix システムにのみ有効な設定であり、指定されていても Windows には影響しません。
[in] | scheduler | スレッドのスケジューリング設定。ポリシー、優先度、アフィニティマスクを設定します。 |
Result DiarkisUdpBase::SendCheckNATType | ( | ) |
クライアントのNATタイプをチェックするためにサーバーにコマンドを送信します。 IDiarkisUdp::GetCheckNATTypeEvent(例:OnCheckNATType)で登録されたコールバックイベントがトリガーされます。
|
protectedvirtual |
サーバーに接続するときに呼び出されるコールバック関数です。
|
protectedvirtual |
サーバーから切断されたときに呼び出されるコールバック関数。
|
protectedvirtual |
サーバーがシャットダウンの準備をするときに呼び出されるコールバック関数。
|
protectedvirtual |
サーバーからのレスポンスを受信したときに呼び出されるコールバック関数。
|
protectedvirtual |
サーバーからプッシュを受信したときに呼び出されるコールバック関数。
|
protectedvirtual |
サーバーからエコーを受信した際に呼び出されるコールバック関数。
|
protectedvirtual |
サーバーからのpingを受信したときに呼び出されるコールバック関数。
|
protectedvirtual |
サーバーから通知を受信した際に呼び出されるコールバック関数。
|
protectedvirtual |
SendCheckNATTypeの応答によってトリガーされるコールバックイベント。
|
protected |
UDPサーバーに接続するための情報を設定します
[in] | clientKey | クライアントキー |
[in] | sid | セッションID |
[in] | sidSize | sidの長さ |
[in] | key | 暗号化キー |
[in] | keySize | キーの長さ |
[in] | iv | 暗号化初期化ベクトル(IV) |
[in] | ivSize | ivの長さ |
[in] | mackey | MACキー |
[in] | mackeySize | mackeyの長さ |
|
protected |
UDPサーバーに接続するための情報を設定します
[in] | clientKey | クライアントキー |
[in] | auth | 認証情報 |
|
protected |
IDiarkisUdpクラスへのポインター
|
protected |
IDiarkisLoggerクラスへのポインター
|
protected |
ラムダ関数のリスト
|
protected |
UDP関連のイベントがスケジューラに追加された時に呼び出されるプロセスを設定します。
|
protected |
サーバーがシャットダウンの準備をしているかどうか
|
protected |
私のグローバルIPアドレス