質問

OpenLDAPクライアントライブラリを使用して、LDAPサーバーに接続しています。問題は、しばらくの間アクティビティがない場合、サーバー(または中間のファイアウォール)がTCP接続をドロップすることです。

「キープアライブ」の現在の実装baseDNを時々検索するだけで、より良いアイデアはありますか?

役に立ちましたか?

解決 3

唯一の代替手段は再接続のようです:

ldap_set_option( ld, LDAP_OPT_RECONNECT, LDAP_OPT_ON );

他のヒント

LDAP放棄は機能する可能性があります:

if (ldap_abandon(ld, 0, sctrls, cctrls) != LDAP_SUCCESS)
    {
       /* handle ldap error */
    };

OpenLDAPメーリングリストでこれに関する議論がありました:

http://www.openldap.org/lists/openldap- devel / 200905 / msg00008.html

概要: 放棄要求はサーバーにメッセージを送信しますが、サーバーは放棄要求に対する応答をクライアントに送り返しません。ゼロは、LDAP要求の有効なMSGIDではありません。ゼロは無効なMSGIDであり、サーバーは放棄要求に応答しないため、理論上、サーバーはmsgidゼロの放棄要求を無視します。これにより、TCPソケットでアクティビティが提供され、ファイアウォールが接続をドロップするのを防ぎます。

参照:

  • RFC 4511、セクション4.11:放棄操作
  • RFC 4511、セクション4.1.1.1:MessageID

http://tools.ietf.org/html/rfc4511

LDAP_OPT_RECONNECT はOpenLdapでは使用できません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top