7.16. 応用機能 - 同期クロック

セッションに参加中のステーションは、ホストがセッションを構築した時刻からの経過時間をミリ秒単位で取得することができます。この機能を同期クロックといいます。

同期クロックの取得

セッション内での時刻同期は、クライアントが定期的に送信する時刻同期パルスにセッションホストが応答することで実現しています。時刻同期パルスの送信間隔は任意の時間(ミリ秒単位)に変更することができます。

コード 7-36. セッション構築時刻からの経過時間の取得
// セッション参加中に実行可能です
// セッション構築時刻からの経過時間を Session クラスに問い合わせて取得します
int64_t sessionTime = nn::pia::session::Session::GetInstance()->GetTime();

 

コード 7-37. 時刻同期パルスの送信間隔の確認と変更
// セッション参加中に実行可能です
 
// 時刻同期パルスの送信間隔を確認します
int32_t currentPulseInterval = nn::pia::session::Session::GetInstance()->GetSyncClockPulseInterval();
 
// 時刻同期パルスの送信間隔を変更します
int32_t pulseInterval; // 変更したい送信間隔(ミリ秒単位)を設定してある変数だとします
nn::pia::session::Session::GetInstance()->SetSyncClockPulseInterval(pulseInterval);

 

 

参考:

ジョイントセッションへのセッション移行処理中、ならびにジョイントセッションから元のセッションに戻る処理中は、同期クロックを取得することはできません。