CTR NEX API Reference
nn::nex::IndependentServer クラス

独自サーバーの処理を行うライブラリです。 [詳解]

#include <RendezVous/Services/Jugem/IndependentServer/src/Client/IndependentServer.h>

+ nn::nex::IndependentServer の継承関係図

公開メンバ関数

 IndependentServer ()
 コンストラクタです。
 
virtual ~IndependentServer ()
 デストラクタです。
 
qInt32 GetLastErrorCode () const
 認証トークンの要求処理で発生したネットワークエラーコードを取得します。 [詳解]
 
qResult RequestAuthenticationToken (ProtocolCallContext *pContext, qUnsignedInt32 gameServerId, const qChar8 *pKeyHash, qChar8 *pAuthToken, qBool checkParentalControl=true)
 独自サーバーの認証トークンを要求します。 [詳解]
 

静的公開メンバ関数

static qBool GetServerTime (DateTime *pServerTime)
 サーバー時刻(UTC)を取得します。 [詳解]
 

静的公開変数類

static const qUnsignedInt32 AUTH_TOKEN_SIZE = 256
 認証トークン取得時に必要なバッファサイズです。認証トークンのNULL終端文字分を含みます。
 

詳解

独自サーバーの処理を行うライブラリです。

内部で nn::os::Event オブジェクトを一つ使用します。

非同期処理が行われている間は定期的にScheduler::Dispatch() を呼び出す必要があります。

関数詳解

qResult nn::nex::IndependentServer::RequestAuthenticationToken ( ProtocolCallContext pContext,
qUnsignedInt32  gameServerId,
const qChar8 pKeyHash,
qChar8 pAuthToken,
qBool  checkParentalControl = true 
)

独自サーバーの認証トークンを要求します。

認証サーバーでゲームの認証処理を行った後、認証トークンの取得を行います。 本体が プリンシパル ID 未取得の場合、本関数の非同期処理中にフレンドサーバへのアクセスを行い プリンシパル ID を取得します。

本関数はライブラリ内部で nn::friends ライブラリの非同期処理を呼び出します。 本関数の非同期処理実行中に nn::friends::Login() などの nn::friends ライブラリの 非同期処理を呼びださないでください。

本関数では、 ProtocolCallContext::SetTimeout()ProtocolCallContext::Cancel() の指定は無効です。これらの操作を行わないでください。

非同期処理の結果は CallContext::GetOutcome() で成功・失敗の判断を行います。 失敗の場合、ネットワークエラーコードは GetLastErrorCode() で取得して下さい。

checkParentalControl が false の場合、「他のユーザーとのインターネット通信」のペアレンタルコントロールの チェックを行いません。そのため、サービス内容に応じて正しく設定するようにしてください。

引数
[in,out]pContext呼び出し情報。
[in]gameServerIdゲームサーバ ID。
[in]pKeyHashキーハッシュ値。
[out]pAuthToken認証トークンを受け取るバッファ。
バッファサイズは AUTH_TOKEN_SIZE 以上にして下さい。
[in]checkParentalControlペアレンタルコントロールのチェックを行うかどうか。
戻り値
処理の結果が返ります。
戻り値一覧:

"QSUCCESS(Core,Success)" 処理の起動に成功。

"QERROR(Core,InvalidArgument)" 引数が不正。

"QERROR(Core,CallInitiationFailure)" CallContext の状態が不正。

"QERROR(FPD,NotInitialized)" フレンドライブラリが初期化されていない。

"QERROR(FPD,NotConnected)" NFS にログインしていない。(SDK 3.2より前のSDKを使用している場合)

qInt32 nn::nex::IndependentServer::GetLastErrorCode ( ) const

認証トークンの要求処理で発生したネットワークエラーコードを取得します。

RequestAuthenticationToken() の非同期処理に失敗した場合にのみ有効な値がセットされます。

戻り値
ネットワークエラーコード。
static qBool nn::nex::IndependentServer::GetServerTime ( DateTime pServerTime)
static

サーバー時刻(UTC)を取得します。

フレンドサーバーへログインしている必要があります。

引数
[out]pServerTimeサーバー時刻。
戻り値
処理結果が返ります。


戻り値一覧:

true 成功

false 失敗(フレンドサーバーにログインしていない)