문제

OpenLDAP 클라이언트 라이브러리를 사용하여 LDAP 서버에 동의하고 있습니다. 문제는 한동안 활동이 없으면 서버 (또는 중간에있는 방화벽)가 TCP 연결을 중단한다는 것입니다.

"Keep -Alive"의 현재 구현은 때때로 기반을 찾는 것만으로 더 나은 아이디어를 찾습니까?

도움이 되었습니까?

해결책 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

간단히 말해서, 포기 요청은 서버에 메시지를 보내지 만 서버는 포기 요청에 대해 클라이언트에게 응답을 보내지 않습니다. 0은 LDAP 요청에 대한 유효한 msgid가 아닙니다. 0은 유효하지 않은 msgid이고 서버는 포기 요청에 응답하지 않기 때문에 이론적으로 서버는 msgid Zero에 대한 포기 요청을 무시합니다. 이것은 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