P2P通信システム More...
#include <GxSysP2P.h>


Public Member Functions | |
アクセサ | |
| GX_FORCE_INLINE GxP2PSessionManager::ASYNC_RESULT | getAsyncResult (void) const |
| 非同期処理結果取得 | |
| GX_FORCE_INLINE GxP2PSessionManager::ERROR_TYPE | getError (void) const |
| エラー情報取得 | |
| const GxP2PStation * | getStation (void) const |
| 自分ステーション取得 | |
| const GxP2PStation * | getStation (u32 index) const |
| 指定ステーション取得 | |
| const GxP2PStation * | getStationHost (void) const |
| ホストステーション取得 | |
| u32 | getStationNum (void) const |
| ステーション数取得 | |
| u32 | getStationId (void) const |
| ステーションID取得 | |
| GX_FORCE_INLINE b32 | isServedSessionManager (void) const |
| セッション処理動作中判定 | |
| GX_FORCE_INLINE b32 | isServedMessageManager (void) const |
| メッセージ通信稼働中判定 | |
| GX_FORCE_INLINE b32 | isServedSyncManager (void) const |
| 同期通信稼動中判定 | |
| GX_FORCE_INLINE b32 | isServedDuplicateManager (void) const |
| 非同期オブジェクト通信稼動中判定 | |
| GX_FORCE_INLINE b32 | isServedRemoteManager (void) const |
| リモートコールバック稼動中判定 | |
| b32 | isJoined (void) const |
| セッション参加中判定 | |
| b32 | isHost (void) const |
| セッションホスト判定 | |
| b32 | isReady (void) const |
| ゲームセッション準備確認 (ホスト専用) | |
| b32 | isGameSession (void) const |
| ゲームセッション中判定 | |
| constexpr GxP2PSessionManager * | getSessionManager (void) const |
| セッションマネージャ | |
| constexpr GxP2PMessageManager * | getMessageManager (void) const |
| メッセージ通信マネージャ | |
| constexpr GxP2PSyncManager * | getSyncManager (void) const |
| 同期通信マネージャ | |
| constexpr GxP2PDuplicateManager * | getDuplicateManager (void) const |
| 非同期オブジェクト通信マネージャ | |
| constexpr GxP2PRemoteManager * | getRemoteManager (void) const |
| リモートコールバックマネージャ | |
Public Member Functions inherited from GxSysP2PBase | |
| GxSysP2PBase (void) | |
| コンストラクタ | |
| ~GxSysP2PBase (void) override | |
| デストラクタ | |
Public Member Functions inherited from GxSysBase | |
| template<typename T > | |
| T * | getModule (void) const |
| モジュールを取得 | |
| GxSysBase (void) | |
| デフォルトコンストラクタ | |
| ~GxSysBase (void) override | |
| デストラクタ | |
| virtual b32 | initialize (const GxClassBase *pInitialiInformation=nullptr) |
| 初期化 | |
| b32 | isLocked (void) |
| クリティカルセクションのロック状態を確認する | |
| void | sleep (f32 time) |
| スリープ(スクリプト用) | |
Public Member Functions inherited from GxClassBase | |
| constexpr | GxClassBase (void) |
| コンストラクタ | |
| constexpr | GxClassBase (const GxClassBase &base) |
| コピーコンストラクタ | |
| ~GxClassBase (void) override | |
| デストラクタ | |
Public Member Functions inherited from GxClassBaseRoot | |
| constexpr | GxClassBaseRoot (void) |
| コンストラクタ | |
| constexpr | GxClassBaseRoot (const GxClassBaseRoot &) |
| コピーコンストラクタ | |
| virtual | ~GxClassBaseRoot (void) |
| デストラクタ | |
| constexpr GxClassBaseRoot & | operator= (const GxClassBaseRoot &) |
| 代入演算子 | |
| virtual GxRtti & | getRtti (void) const =0 |
| Rttiの取得 | |
| virtual GX_FORCE_INLINE const GxTypedObject * | getDefaultObject (void) |
| デフォルトオブジェクトを取得 | |
| GX_FORCE_INLINE b32 | isDefaultObject (void) |
| デフォルトオブジェクト判定 | |
Public Member Functions inherited from SingletonBase< GxSysP2PBase > | |
| SingletonBase (void) | |
| コンストラクタ | |
| ~SingletonBase (void) | |
| デストラクタ | |
Protected Attributes | |
メンバ変数 | |
| GxP2PSessionManager * | _pSessionManager |
| セッションマネージャ | |
| GxP2PMessageManager * | _pMessageManager |
| メッセージ通信マネージャ | |
| GxP2PSyncManager * | _pSyncManager |
| 同期通信マネージャ | |
| GxP2PDuplicateManager * | _pDuplicateManager |
| 非同期オブジェクト通信マネージャ | |
| GxP2PRemoteManager * | _pRemoteManager |
| リモートコールバックマネージャ | |
定義 | |
| enum | NETWORK_SERVICE { NETWORK_SERVICE_MESSAGE = 0x00000001 , NETWORK_SERVICE_SYNC = 0x00000002 , NETWORK_SERVICE_DUPLICATE = 0x00000004 , NETWORK_SERVICE_REMOTE = 0x00000010 , NETWORK_SERVICE_UPNP = 0x00001000 , NETWORK_SERVICE_ALL = 0xFFFFFFFF } |
| ネットワークサービス More... | |
| enum class | NETWORK_RESULT { SUCCESS = 0 , ERROR_INVALID = -1 } |
| ネットワーク処理開始結果定義 More... | |
| static constexpr u32 | STATION_MAX = GxP2PSessionManager::NETWORK_GAMER_MAX |
| 接続ステーション最大 | |
初期化 | |
| GxSysP2P (void) | |
| デフォルトコンストラクタ | |
| void | terminate (void) override |
| 終了処理 | |
| virtual NETWORK_RESULT | startNetwork (GxP2PSessionManager::EVENT_CALLBACK_FUNCTION eventCallback=GxSysP2P::callbackEvent, u32 port=GxP2PSessionManager::DEFAULT_USE_PORT, u32 magicNumber=GxP2PSessionManager::DEFAULT_MAGIC_NUMBER, nu32 systemLinkPort=GxP2PSessionManager::DEFAULT_SYSTEM_LINK_PORT) |
| ネットワーク処理開始 | |
| virtual void | endNetwork (void) |
| ネットワーク処理終了 | |
| virtual b32 | startService (u32 serviceFlags) |
| サービス開始 | |
| virtual void | endService (u32 serviceFlags) |
| サービス終了 | |
| static void | loadModule (void) |
| モジュールのロード | |
| static void | unloadModule (void) |
| モジュールのアンロード | |
操作 | |
| void | update (void) override |
| 更新 | |
| b32 | createSession (GxP2PSessionManager::CREATE_MODE mode) |
| セッション作成 | |
| b32 | joinSession (GX_CSTR address) |
| セッション参加 (IP文字列指定) | |
| b32 | joinSession (u32 address) |
| セッション参加 (IP数値指定) | |
| b32 | joinSession (const GxP2PSessionManager::GxSessionInformation &session) |
| セッション参加 (セッション指定) | |
| b32 | leaveSession (void) |
| セッション離脱 | |
| b32 | searchSession (GxP2PSessionManager::GxSessionInformation *pDst, u32 *pNum) |
| セッション探索 | |
| b32 | kickoutSession (const GxP2PStation &station) |
| セッションメンバーキックアウト | |
| b32 | createSessionAsync (GxP2PSessionManager::CREATE_MODE mode) |
| セッション作成 [非同期] | |
| b32 | joinSessionAsync (GX_CSTR address) |
| セッション参加 [非同期] (IP文字列指定) | |
| b32 | joinSessionAsync (u32 address) |
| セッション参加 [非同期] (IP数値指定) | |
| b32 | joinSessionAsync (const GxP2PSessionManager::GxSessionInformation &session) |
| セッション参加 [非同期] (セッション指定) | |
| b32 | leaveSessionAsync (void) |
| セッション離脱 [非同期] | |
| b32 | searchSessionAsync (GxP2PSessionManager::GxSessionInformation *pDst, u32 *pNum) |
| セッション探索 [非同期] | |
| b32 | kickoutSessionAsync (const GxP2PStation &station) |
| セッションメンバーキックアウト [非同期] | |
| void | readyGameSession (void) |
| ゲームセッション準備 | |
| b32 | startGameSession (const GxP2PSessionManager::GxSessionParameter *pParam=nullptr) |
| ゲームセッション開始 (ホスト専用) | |
| b32 | endGameSession (void) |
| ゲームセッション終了 (ホスト専用) | |
| static void | callbackEvent (GxP2PSessionManager::EVENT type, GxP2PSessionManager::ERROR_TYPE error, u32 stationId) |
| イベントコールバック | |
Additional Inherited Members | |
Static Public Member Functions inherited from GxClassBaseRoot | |
| static GX_FORCE_INLINE GxRtti & | __getStaticRtti (void) |
| Rttiの取得 | |
Static Public Member Functions inherited from SingletonBase< GxSysP2PBase > | |
| static GX_FORCE_INLINE GxSysP2PBase & | getSingleton (void) |
| 参照を取得 | |
| static constexpr GxSysP2PBase * | getSingletonPointer (void) |
| ポインタを取得 | |
Protected Types inherited from GxSysBase | |
| enum class | LOCK_TYPE { SEQUENTIAL_THREAD_SAFE , THREAD_SAFE } |
| ロックタイプ More... | |
Protected Member Functions inherited from GxSysBase | |
| void | terminateGxModules (void) |
| GXモジュールの終了処理 | |
| void | lock (LOCK_TYPE type=LOCK_TYPE::THREAD_SAFE) |
| クリティカルセクションに入る | |
| void | unlock (LOCK_TYPE type=LOCK_TYPE::THREAD_SAFE) |
| クリティカルセクションを出る | |
| template<typename T > | |
| T * | addModule (void) |
| モジュールを作成 | |
| template<typename T > | |
| void | removeModule (void) |
| モジュールを削除 | |
P2P通信システム
|
strong |
|
static |
イベントコールバック
| type | [in] イベントタイプ |
| error | [in] エラー番号 |
| stationId | [in] イベント対象ステーションID |

| GX_FORCE_INLINE b32 GxSysP2P::createSession | ( | GxP2PSessionManager::CREATE_MODE | mode | ) |
セッション作成
| mode | [in] セッション作成モード |

| GX_FORCE_INLINE b32 GxSysP2P::createSessionAsync | ( | GxP2PSessionManager::CREATE_MODE | mode | ) |
セッション作成 [非同期]
| mode | [in] セッション作成モード |

| GX_FORCE_INLINE b32 GxSysP2P::endGameSession | ( | void | ) |
ゲームセッション終了 (ホスト専用)

|
virtual |
サービス終了
| serviceFlags | [in] 終了サービスフラグ (NETWORK_SERVICE_~ 定義の合成指定) |


| GX_FORCE_INLINE const GxP2PStation * GxSysP2P::getStation | ( | u32 | index | ) | const |
指定ステーション取得

| GX_FORCE_INLINE const GxP2PStation * GxSysP2P::getStation | ( | void | ) | const |
自分ステーション取得


| GX_FORCE_INLINE const GxP2PStation * GxSysP2P::getStationHost | ( | void | ) | const |
ホストステーション取得

| GX_FORCE_INLINE u32 GxSysP2P::getStationId | ( | void | ) | const |
ステーションID取得

| GX_FORCE_INLINE u32 GxSysP2P::getStationNum | ( | void | ) | const |
ステーション数取得

| GX_FORCE_INLINE b32 GxSysP2P::isGameSession | ( | void | ) | const |
ゲームセッション中判定

| GX_FORCE_INLINE b32 GxSysP2P::isHost | ( | void | ) | const |
セッションホスト判定

| GX_FORCE_INLINE b32 GxSysP2P::isJoined | ( | void | ) | const |
セッション参加中判定

| GX_FORCE_INLINE b32 GxSysP2P::isReady | ( | void | ) | const |
ゲームセッション準備確認 (ホスト専用)

| GX_FORCE_INLINE b32 GxSysP2P::joinSession | ( | const GxP2PSessionManager::GxSessionInformation & | session | ) |
セッション参加 (セッション指定)
| session | [in] 接続先セッション情報 |

| GX_FORCE_INLINE b32 GxSysP2P::joinSession | ( | GX_CSTR | address | ) |
セッション参加 (IP文字列指定)
| address | [in] ホストIPアドレス (文字列) |

| GX_FORCE_INLINE b32 GxSysP2P::joinSession | ( | u32 | address | ) |
セッション参加 (IP数値指定)
| address | [in] ホストIPアドレス(数値) |

| GX_FORCE_INLINE b32 GxSysP2P::joinSessionAsync | ( | const GxP2PSessionManager::GxSessionInformation & | session | ) |
セッション参加 [非同期] (セッション指定)
| session | [in] 接続先セッション情報 |

| GX_FORCE_INLINE b32 GxSysP2P::joinSessionAsync | ( | GX_CSTR | address | ) |
セッション参加 [非同期] (IP文字列指定)
| address | [in] ホストIPアドレス (文字列) |

| GX_FORCE_INLINE b32 GxSysP2P::joinSessionAsync | ( | u32 | address | ) |
セッション参加 [非同期] (IP数値指定)
| address | [in] ホストIPアドレス(数値) |

| GX_FORCE_INLINE b32 GxSysP2P::kickoutSession | ( | const GxP2PStation & | station | ) |
セッションメンバーキックアウト
| station | [in] キックアウト対象メンバーステーション |

| GX_FORCE_INLINE b32 GxSysP2P::kickoutSessionAsync | ( | const GxP2PStation & | station | ) |
セッションメンバーキックアウト [非同期]
| station | [in] キックアウト対象メンバーステーション |

| GX_FORCE_INLINE b32 GxSysP2P::leaveSession | ( | void | ) |
セッション離脱

| GX_FORCE_INLINE b32 GxSysP2P::leaveSessionAsync | ( | void | ) |
セッション離脱 [非同期]

| GX_FORCE_INLINE b32 GxSysP2P::searchSession | ( | GxP2PSessionManager::GxSessionInformation * | pDst, |
| u32 * | pNum ) |
セッション探索
| pDst | [out] セッション情報格納先ポインタ |
| pNum | [in,out] 取得セッション数 (セッション情報格納可能サイズ) |

| GX_FORCE_INLINE b32 GxSysP2P::searchSessionAsync | ( | GxP2PSessionManager::GxSessionInformation * | pDst, |
| u32 * | pNum ) |
セッション探索 [非同期]
| pDst | [out] セッション情報格納先ポインタ |
| pNum | [in,out] 取得セッション数 (セッション情報格納可能サイズ) |

| GX_FORCE_INLINE b32 GxSysP2P::startGameSession | ( | const GxP2PSessionManager::GxSessionParameter * | pParam = nullptr | ) |
ゲームセッション開始 (ホスト専用)
| pParam | [in] ゲームセッションパラメータポインタ (※ディフォルト設定でよい場合はnullptr指定) |

|
virtual |
ネットワーク処理開始
| eventCallback | [in] 登録イベントコールバック関数 |
| port | [in] 使用ポート (UDP) |
| magicNumber | [in] 使用マジックナンバー (下位24bitが有効) |
| systemLinkPort | [in] システムリンクポート (UDP) ※セッションLAN探索用 |

|
virtual |
サービス開始
| serviceFlags | [in] 開始サービスフラグ (NETWORK_SERVICE_~ 定義の合成指定) |

|
overridevirtual |
|
overridevirtual |