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: