P2Pセッションマネージャ
More...
#include <GxP2PSessionManager.h>
|
| enum class | CREATE_MODE { LAN = 0
, INET
} |
| | セッション生成モード (MyNetLib::SessionTypeEnum 並びに準拠) More...
|
| |
| enum class | LEAVE_MODE { EXCLUSION = 0
, TOLERANCE
, CLIENT_SERVER
} |
| | セッション離脱モード More...
|
| |
| enum class | EVENT {
NONE = 0
, JOIN
, LEAVE
, DESTROY
,
START_GAME
, END_GAME
} |
| | イベント定義 More...
|
| |
| enum class | ERROR_TYPE {
NONE = 0
, INVALID = -1
, NOTFOUND = -2
, HOST_END = -3
,
DISCONNECT = -4
, NOT_HOST = -5
, NOT_SESSION = -6
, ALREADY_DONE = -7
} |
| | エラー定義 (要因) More...
|
| |
| enum class | ASYNC_PROCESS {
NONE = 0
, CREATE_SESSION
, JOIN_SESSION
, LEAVE_SESSION
,
SEARCH_SESSION
, KICKOUT_SESSION
} |
| | 非同期処理内容 More...
|
| |
| enum class | ASYNC_RESULT { PROGRESS = 0
, SUCCESS
, FAILED
} |
| | 非同期処理結果 More...
|
| |
|
typedef void(*) | EVENT_CALLBACK_FUNCTION(GxP2PSessionManager::EVENT type, GxP2PSessionManager::ERROR_TYPE error, nu32 gamerId) |
| | イベントコールバック関数定義
|
| |
|
class | GxP2PMessageManager |
| |
|
static constexpr ns32 | LOCAL_GAMER_MAX = 1 |
| | ローカルゲーマー数 (※1固定)
|
| |
|
static constexpr ns32 | NETWORK_GAMER_MAX = 8 |
| | ゲーマー数 (※最大接続人数)
|
| |
|
static constexpr nu32 | IPADDRESS_STRING_MAX = 16 |
| | IPアドレス文字列最大長
|
| |
|
static constexpr nu32 | DEFAULT_USE_PORT = 6221 |
| | ディフォルト通信ポート番号
|
| |
|
static constexpr nu32 | DEFAULT_SYSTEM_LINK_PORT = 6220 |
| | ディフォルトシステムリンク通信ポート番号
|
| |
|
static constexpr nu32 | DEFAULT_MAGIC_NUMBER = 0x00DCBA98 |
| | ディフォルトマジックナンバー
|
| |
|
static constexpr nu32 | SEARCH_SESSION_MAX = MyNetworkSession::SYSTEMLINK_HOST_MAX |
| | 探索セッション最大数
|
| |
|
|
GX_FORCE_INLINE MyNetLib::MyNetworkSession * | getSessionInstance (void) |
| | MyNetLibセッションインスタンス取得
|
| |
|
constexpr GX_CSTR | getIPAddressString (void) const |
| | IPアドレス文字列取得
|
| |
|
constexpr ASYNC_RESULT | getAsyncResult (void) const |
| | 非同期処理結果取得
|
| |
|
constexpr ERROR_TYPE | getError (void) const |
| | エラー情報取得
|
| |
| const GxP2PStation * | getStation (void) const |
| | 自分ステーション取得
|
| |
| const GxP2PStation * | getStation (nu32 index) const |
| | 指定ステーション取得
|
| |
| const GxP2PStation * | getStationHost (void) const |
| | ホストステーション取得
|
| |
|
constexpr nu32 | getStationNum (void) const |
| | ステーション数取得
|
| |
|
GX_FORCE_INLINE b32 | isJoined (void) const |
| | セッション参加中判定
|
| |
|
GX_FORCE_INLINE b32 | isHost (void) const |
| | セッションホスト判定
|
| |
| b32 | isReady (void) const |
| | ゲームセッション準備確認 (ホスト専用)
|
| |
| b32 | isGameSession (void) const |
| | ゲームセッション中判定
|
| |
| static void | getIPAddressFromValue (GX_STR pDst, u32 address) |
| | 32bitアドレス情報 → IPアドレス取得
|
| |
| static void | getIPAddressFromHost (GX_STR pDst, u64 host) |
| | 64bitホスト情報 → IPアドレス取得
|
| |
◆ ASYNC_PROCESS
非同期処理内容
| Enumerator |
|---|
| NONE | 処理なし
|
| CREATE_SESSION | セッション生成
|
| JOIN_SESSION | セッション参加
|
| LEAVE_SESSION | セッション離脱
|
| SEARCH_SESSION | セッション探索
|
| KICKOUT_SESSION | セッションキックアウト
|
◆ ASYNC_RESULT
非同期処理結果
| Enumerator |
|---|
| PROGRESS | 処理中
|
| SUCCESS | 成功
|
| FAILED | 失敗
|
◆ CREATE_MODE
セッション生成モード (MyNetLib::SessionTypeEnum 並びに準拠)
| Enumerator |
|---|
| LAN | LAN用セッション
|
| INET | インターネット用セッション
|
◆ ERROR_TYPE
エラー定義 (要因)
| Enumerator |
|---|
| NONE | 正常
|
| INVALID | 処理失敗
|
| NOTFOUND | 未発見
|
| HOST_END | ホストが終了した
|
| DISCONNECT | 切断された
|
| NOT_HOST | ホスト専用メソッドをクライアントがコールした
|
| NOT_SESSION | セッションに参加していない
|
| ALREADY_DONE | 既に実行されている
|
◆ EVENT
イベント定義
| Enumerator |
|---|
| NONE | なし
|
| JOIN | プレイヤー参加
|
| LEAVE | プレイヤー離脱
|
| DESTROY | セッション破棄
|
| START_GAME | ゲーム開始
|
| END_GAME | ゲーム終了
|
◆ LEAVE_MODE
セッション離脱モード
| Enumerator |
|---|
| EXCLUSION | 除外モード (クライアント間で切断が発生したら、片方がセッションから弾かれる)
|
| TOLERANCE | 慣用モード (クライアント間で切断が発生しても、セッションに残る)
|
| CLIENT_SERVER | C/Sモード (クライアント間の切断は無視)
|
◆ createSession()
セッション作成
- Parameters
-
- Returns
- 成功ならtrue
◆ createSessionAsync()
セッション作成 [非同期]
- Parameters
-
- Returns
- 成功ならtrue
◆ endGameSession()
| b32 GxP2PSessionManager::endGameSession |
( |
void | | ) |
|
ゲームセッション終了 (ホスト専用)
- Returns
- 成功ならtrue
◆ getIPAddressFromHost()
| void GxP2PSessionManager::getIPAddressFromHost |
( |
GX_STR | pDst, |
|
|
u64 | host ) |
|
static |
64bitホスト情報 → IPアドレス取得
- Parameters
-
| pDst | [out] IPアドレス文字列格納先 (※IPADDR_STRING_MAX byte以上確保しておくこと) |
| host | [in] ホスト情報 |
◆ getIPAddressFromValue()
| void GxP2PSessionManager::getIPAddressFromValue |
( |
GX_STR | pDst, |
|
|
u32 | address ) |
|
static |
32bitアドレス情報 → IPアドレス取得
- Parameters
-
| pDst | [out] IPアドレス文字列格納先 (※IPADDR_STRING_MAX byte以上確保しておくこと) |
| address | [in] アドレス情報 |
◆ getStation() [1/2]
| const GxP2PStation * GxP2PSessionManager::getStation |
( |
nu32 | index | ) |
const |
指定ステーション取得
- Parameters
-
- Returns
- 指定ステーションポインタ (※nullptrの場合:未発見)
◆ getStation() [2/2]
| const GxP2PStation * GxP2PSessionManager::getStation |
( |
void | | ) |
const |
自分ステーション取得
- Returns
- 自分ステーションポインタ (※nullptrの場合:セッション未参加)
◆ getStationHost()
| const GxP2PStation * GxP2PSessionManager::getStationHost |
( |
void | | ) |
const |
ホストステーション取得
- Returns
- ホストステーションポインタ (※nullptrの場合:セッション未参加)
◆ initialize()
初期化
- Parameters
-
| port | [in] 使用ポート |
| magicNumber | [in] 使用マジックナンバー |
| systemLinkPort | [in] システムリンク使用ポート |
- Returns
- 成功ならtrue
◆ isGameSession()
| b32 GxP2PSessionManager::isGameSession |
( |
void | | ) |
const |
ゲームセッション中判定
- Returns
- ゲームセッション中ならtrue
◆ isReady()
| b32 GxP2PSessionManager::isReady |
( |
void | | ) |
const |
ゲームセッション準備確認 (ホスト専用)
- Returns
- 準備完了ならtrue
- Note
- 参加中プレイヤーの準備完了状態を判定します。
◆ joinSession() [1/3]
セッション参加 (セッション指定)
- Parameters
-
- Returns
- 成功ならtrue
◆ joinSession() [2/3]
| b32 GxP2PSessionManager::joinSession |
( |
GX_CSTR | address | ) |
|
セッション参加 (IP文字列指定)
- Parameters
-
| address | [in] ホストIPアドレス (文字列) |
- Returns
- 成功ならtrue
◆ joinSession() [3/3]
| b32 GxP2PSessionManager::joinSession |
( |
nu32 | address | ) |
|
セッション参加 (IP数値指定)
- Parameters
-
| address | [in] ホストIPアドレス(数値) |
- Returns
- 成功ならtrue
◆ joinSessionAsync() [1/3]
セッション参加 [非同期] (セッション指定)
- Parameters
-
- Returns
- リクエスト成功ならtrue
◆ joinSessionAsync() [2/3]
| b32 GxP2PSessionManager::joinSessionAsync |
( |
GX_CSTR | address | ) |
|
セッション参加 [非同期] (IP文字列指定)
- Parameters
-
| address | [in] ホストIPアドレス (文字列) |
- Returns
- 成功ならtrue
◆ joinSessionAsync() [3/3]
| b32 GxP2PSessionManager::joinSessionAsync |
( |
nu32 | address | ) |
|
セッション参加 [非同期] (IP数値指定)
- Parameters
-
| address | [in] ホストIPアドレス(数値) |
- Returns
- リクエスト成功ならtrue
◆ kickoutSession()
セッションメンバーキックアウト
- Parameters
-
| station | [in] キックアウト対象メンバーステーション |
- Returns
- 成功ならtrue
◆ kickoutSessionAsync()
| b32 GxP2PSessionManager::kickoutSessionAsync |
( |
const GxP2PStation & | station | ) |
|
セッションメンバーキックアウト [非同期]
- Parameters
-
| station | [in] キックアウト対象メンバーステーション |
- Returns
- リクエスト成功ならtrue
◆ leaveSession()
| b32 GxP2PSessionManager::leaveSession |
( |
void | | ) |
|
◆ leaveSessionAsync()
| b32 GxP2PSessionManager::leaveSessionAsync |
( |
void | | ) |
|
セッション離脱 [非同期]
- Returns
- リクエスト成功ならtrue
◆ registerEventCallback()
イベントコールバック関数登録
- Parameters
-
| pCallback | [in] イベントコールバック関数ポインタ |
◆ searchSession()
セッション探索
- Parameters
-
| pDst | [out] セッション情報格納先ポインタ |
| pNum | [in,out] 取得セッション数 (セッション情報格納可能サイズ) |
- Returns
- 成功ならtrue
- Note
- 探索完了時には実際に発見した数が pNum に格納されます
◆ searchSessionAsync()
セッション探索 [非同期]
- Parameters
-
| pDst | [out] セッション情報格納先ポインタ |
| pNum | [in,out] 取得セッション数 (セッション情報格納可能サイズ) |
- Returns
- リクエスト成功ならtrue
- Note
- LAN内セッションを探索します。
◆ startGameSession()
ゲームセッション開始 (ホスト専用)
- Parameters
-
| pParameter | [in] ゲームセッションパラメータポインタ (※ディフォルト設定でよい場合はnullptr指定) |
- Returns
- 成功ならtrue
◆ update()
| b32 GxP2PSessionManager::update |
( |
nu32 | elapsedMilliSecond | ) |
|
更新
- Parameters
-
| elapsedMilliSecond | [in] 経過ミリ秒 |
- Returns
- 通信継続ならtrue
The documentation for this class was generated from the following files: