LogoLogo
日本語
日本語
  • Diarkis ヘルプセンター
  • Diarkis の概要
  • 始めよう
    • Diarkis サーバーテンプレート
    • Diarkis クライアント SDK
    • チュートリアル
      • 1. Diarkis サーバーをローカル環境で起動する
      • 2. テストクライアントで疎通確認する
      • 3. カスタムコマンドを実装する
      • Diarkis クライアントからサーバに接続する
    • サンプル
  • Diarkis のモジュール
    • Room モジュール
      • Room モジュールをサーバーでセットアップする
      • Room サンプル
        • room_broadcast
      • Room モジュールをクライアントから利用する
      • Room のその他の機能
    • MatchMaker モジュール
      • MatchMaker モジュールをサーバーでセットアップする
    • Field モジュール
      • Field モジュールをサーバーでセットアップする
    • P2P モジュール
      • P2P モジュールをサーバーでセットアップする
      • P2P サンプル
    • DM (Direct Message) モジュール
      • DM モジュールをサーバーでセットアップする
    • Notifier モジュール
      • Notifier モジュールをサーバーでセットアップする
    • Session モジュール
      • Session モジュールをサーバーでセットアップする
    • Group モジュール
      • Group モジュールをサーバーでセットアップする
  • Diarkis サーバー
    • Diarkis サーバをクラウド環境で起動する
      • AWS
    • Diarkis サーバーを Windows 環境で起動する
    • MARS サーバー
    • UDP サーバー
    • TCP サーバー
    • HTTP サーバー
    • Metrics API
    • サーバー間通信 - Mesh
  • Diarkis クライアント
    • ランタイム・ライブラリ
      • Diarkis RUDP
    • Diarkis Module
      • Diarkis Module の初期化と終了
      • Diarkis Module のカスタイマイズ
      • Diarkis Module のロギング・システム
      • マイグレーション
      • Diarkis のスレッド
    • サンプル
      • C++
        • room_broadcast
        • directmessage_simple
        • group_sample
        • matching_and_turn
        • matchmaker_ticker
        • p2p_rudp_sample
        • session_simple
      • Unreal Engine Plugin
        • FieldWalker
      • Unity Plugin
        • FieldWalker
          • HowToReplicatePosition.md
  • Diarkis ツール
    • Diarkis CLI
      • cgo を利用するプロジェクトをビルドする方法
      • Diarkis CLI v3 への切り替え手順
  • リファレンス
    • API リファレンス
    • リリースノート
      • v1.0
      • v1.0.1
      • v1.0.2
      • v1.0.3
      • v1.0.4
      • v1.0.5
      • v1.0.6
  • サポート
    • ライセンスと購入
GitBook提供
このページ内
  • 概要
  • 主な機能
  • Diarkis TCP/UDP/RUDP 通信
  • スレッド管理
  • メモリ管理とカスタム・アロケーター
  • NAT タイプ判定
  • 各モジュールの機能
  • Diarkis ランタイム・ライブラリが使用するリソース
  • 注意点

役に立ちましたか?

  1. Diarkis クライアント

ランタイム・ライブラリ

・

概要

Diarkis ランタイム・ライブラリ はランタイムのコアとなる低レベルな機能が含まれています。

主な機能

  • 基盤機能

    • Diarkis TCP/UDP/RUDP 通信

    • スレッド管理

    • メモリ管理とカスタム ・アロケーター

    • NAT タイプ判定

  • 各モジュールの機能

Diarkis TCP/UDP/RUDP 通信

Diarkis ランタイム・ライブラリ では TCP/UDP/RUDP による通信をサポートしています。

スレッド管理

Diarkis ランタイム・ライブラリ ではスレッドの操作をクロス・プラットフォームで実行する Diarkis::DiarkisThread を提供しています。 Diarkis::DiarkisThread を使用することにより対応プラットフォームすべてで同じインターフェイスを使用してスレッドを操作することが可能となります。

メモリ管理とカスタム・アロケーター

Diarkis ランタイム・ライブラリではカスタム・アロケーターを設定することにより、Diarkis ランタイム・ライブラリ内部のメモリの確保/開放処理をユーザーが置き換えることができます。 Diarkis::ICustomAllocator を継承してユーザー独自のアロケーターを実装し、Diarkis::SetCustomAllocator を使用してランタイムに設定してください。 samples/room_broadcast/main.cpp に実装サンプル・コードがあります。

NAT タイプ判定

Diarkis ランタイム・ライブラリ では Diarkis サーバーと連携した NAT タイプ判定の機能を提供しています。

各モジュールの機能

Diarkis ランタイム・ライブラリが使用するリソース

Diarkis ランタイム・ライブラリでは以下のリソースを内部で確保して使用します。

  • ソケット

    • ソケットは、UDP サーバ接続時 / TCP サーバ接続時に1つずつ作成されますされます。

    • UDP

      • DiarkisUdp::Connect(Async) / DiarkisUdp::ConnectDualMode(Async) を呼び出した際にランタイム・ライブラリで作成されます。

      • P2P は、UDP で作成した ソケット を使用されます。

    • TCP

      • DiarkisTcp::Connect / DiarkisTcp::ConnectDualMode を呼び出した際にランタイム・ライブラリで作成されます。

    • 接続する Diarkis サーバが複数ある場合は、DiarkisInterfaceBase のインスタンスを複数作成する必要がありますので、インスタンス分だけ Socket 数が増えます。

  • メモリ

    • (Coming Soon)

  • スレッド

    • TCP 接続時は 1 スレッド、UDP 接続時は 2 スレッド作成します。

注意点

  • Diarkis Module の API はスレッド・セーフではありません。複数スレッドで Diarkis Module を利用する場合はアプリケーション側で排他制御を行ってください。

前へDiarkis クライアント次へDiarkis RUDP

最終更新 9 か月前

役に立ちましたか?

各モジュールの機能については を使用することをおすすめします。 ランタイム・ライブラリから直接各モジュールの機能を使用する場合は を参照してください。

Diarkis クライアントを使用する際には、Diarkis Module 側でもスレッドを作成しています。詳しくは をご確認ください。

Diarkis Module
C++ API ドキュメント
Diarkis のスレッド