TCP サーバー
概要
TCP サーバーは、Diarkis の3つのリアルタイム通信サーバのうちの1つで、アプリケーションのためのカスタム・コマンドを実装することができます。
コマンドとは、クライアントから送信され、サーバで処理されるフォーマットされたパケットのことです。これは、Diarkis のサーバ・クラスターがクライアントと対話する方法です。
TCP サーバーのセットアップ
クライアントにビルトイン・コマンドを公開するには、diarkisexec パッケージを利用してセットアップできます。
diarkisexec.SetupDiarkis()
でモジュールを指定してビルトイン・コマンドを公開できます。各モジュールのConfigPath
を指定することで、設定をカスタマイズできます。diarkisexec.SetServerCommandHandler()
でカスタム・コマンドを公開できます。diarkisexec.SetupDiarkisUDPServer()
で UDP サーバーのセットアップができます。引数の JSON ファイルでサーバーの設定をカスタマイズできます。
⚠️上記の関数は、
diarkisexec.StartDiarkis()
を呼ぶ前に実行する必要があります。
詳細は diarkisexec の API リファレンスを参照して下さい。
Mesh 設定
meshConfigPath には JSON ファイルのパスを指定します。詳細は Mesh 設定 を参照してください。
TCP サーバの設定
設定は JSON で記述します。
キー | デフォルト | |
---|---|---|
connectionTTL | 10 | 接続の TTL。この時間を超えるとクライアントはサーバーから切断されます。 |
address | "127.0.0.1" | バインドする UDP サーバーのアドレス |
nic | "eth0" | アドレスを取得するインターフェース名。アドレスが未指定の場合に利用します。 |
port | "7100" | UDP サーバーがバインドするためのポート。UDP サーバーは、指定されたポートから始まる利用可能なポートを自動的に探します。 |
maxRcvSize | 8000 | 各リクエスト・パケットの最大 TCP パケット・サイズ(バイト) |
noDelay | false | true に設定すると、Nagle アルゴリズムを無効にします(書き込み前のバッファリングなし) |
enableEncryption | true | false に設定すると、パケットの暗号化と復号化が無効になります。HTTP サーバも同様の設定をする必要があります。 |
⚠️ クラウド環境では、address はプライベート IP アドレスとし、環境変数
DIARKIS_CLOUD_ENV
を併用してください。
詳細は server の API リファレンスを参照して下さい。
最終更新