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) |
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< 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 | ||
) |
非同期スレッドを使用してサーバーに接続します
このメソッドは非同期接続プロセスを起動してから短い時間で完了します。
非同期接続プロセスの状態や結果を取得するには、IsAsyncConectRunning()と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 | ) |
Socketの送受信バッファをクリアします
bool DiarkisUdpBase::SetSendThreadParam | ( | const DiarkisThreadScheduler & | scheduler | ) |
bool DiarkisUdpBase::SetRecvThreadParam | ( | const DiarkisThreadScheduler & | scheduler | ) |
UDP 受信スレッドの優先順位を指定します。
UDP 受信スレッドの優先順位を指定します。設定する場合は、Connect() 関数の前に呼び出さなければなりません。
呼び出されない場合、OS の標準スレッドポリシーと優先順位が適用されます。
ポリシーは 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アドレス