Tips

アイドル接続タイムアウトとクライアント自動再接続について

日付2010/06/25
ID76058 (英語原文参照)
バージョンv11
プラットフォームMac/Win

これまで4Dの「クライアント自動再接続」オプションを有効にしていたのであれば, 代わりに「アイドル接続タイムアウト」(データベースパラメーター54番)の使用を検討してください。デベロッパは, クライアント自動再接続よりも的確にアイドル接続タイムアウトを設定することができるからです。

たとえば, アイドル接続タイムアウトを使用すれば, 4Dのソケット接続がスタンバイモードになるまでの時間を秒単位で指定することができます。以下はドキュメントからの引用です。

動作していない接続がこの制限時間に達すると, 接続は自動でスタンバイ状態に置かれます。つまりクライアント/サーバセッションがフリーズされ, ネットワークソケットが閉じられます。この動作はユーザに対し完全に透過的です。スタンバイ状態の接続でリクエストが開始されると, ソケットが自動で再び開かれ, クライアント/サーバセッションが再び有効になります。

これに対し, クライアント自動再接続は, 有効あるいは無効のどちらかに設定できるだけです。以下はドキュメントからの引用です。

この低レベル機能を使用すれば, ある特定の状況で, 予期せず接続解除されたクライアントマシンを自動で再接続できます。このオプション (すべてのクライアントマシンにグローバル) が選択されていると, クライアントの接続が失われれば即座に自動の再接続が行われます。一回のみ試行されます。再接続に失敗するとエラー-10002が返されます。成功すれば警告ダイアログが表示され, Windowsタスクバーに通知アイコンが表示されます。クライアント自動再接続機能を有効にするには, サーバ側のタイムアウト値を1分より長く設定しなければなりません。

最適なアイドル接続タイムアウトは, ネットワーク等の条件により異なりますが, 少なくともデベロッパは秒単位でこれを設定することができます。一般的に, クライアント自動再接続よりもアイドル接続タイムアウトのほうが優れており, 現在は後者が推奨されています。

なお, アイドル接続タイムアウトとクライアント自動再接続は互いに干渉するメカニズムであり, 併用するべきではありません。