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 |
リモートコールバックマネージャ | |
![]() | |
GxSysP2PBase (void) | |
コンストラクタ | |
~GxSysP2PBase (void) override | |
デストラクタ | |
![]() | |
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) |
スリープ(スクリプト用) | |
![]() | |
constexpr | GxClassBase (void) |
コンストラクタ | |
constexpr | GxClassBase (const GxClassBase &base) |
コピーコンストラクタ | |
~GxClassBase (void) override | |
デストラクタ | |
![]() | |
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) |
デフォルトオブジェクト判定 | |
![]() | |
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 GX_FORCE_INLINE GxRtti & | __getStaticRtti (void) |
Rttiの取得 | |
![]() | |
static GX_FORCE_INLINE GxSysP2PBase & | getSingleton (void) |
参照を取得 | |
static constexpr GxSysP2PBase * | getSingletonPointer (void) |
ポインタを取得 | |
![]() | |
enum class | LOCK_TYPE { SEQUENTIAL_THREAD_SAFE , THREAD_SAFE } |
ロックタイプ More... | |
![]() | |
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 |