2009-04-27 4 views
1

NetServerEnum()의 기계 목록은 어디에서 가져 왔습니까?NetServerEnum은 어디에서 기계 목록을 가져 옵니까?

컴퓨터 브라우저 서비스를 사용합니까, 아니면 AD를 사용할 수있는 경우 환경 설정으로 AD를 사용합니까?

링크 : 브라우저 서비스에서

+0

당신이 할 수있는 한 가지는 WireShark와 같은 것을 실행하고 NetServerEnum이 호출 될 때 어떤 종류의 트래픽이 시작되고 있는지 확인할 수 있는지 확인하는 것입니다. 나는 그것이 단지 LDAP 쿼리를 볼 수있는 경우 AD에 대한 것이라고 생각합니다. – BobbyShaftoe

답변

2

. NetServerEnum은 Active Directory 이전 버전이며 비 AD 시스템에서 실행해야합니다. 탐색 서버를 찾을 수 없으면 NetServerEnum은 6118 (브라우저 없음)을 리턴합니다. AD는 이런 종류의 작업을위한 ADSI 인터페이스를 가지고 있다고 생각합니다. 그러나 AD에 대해 결코 프로그래밍하지 않았습니다.

큰 도메인에서는 NetServerEnum의 속도가 느려질 수 있습니다. NSE를 기본적인 "검색"알고리즘으로 사용하려고하면이 방법이 어렵다는 것을 알았습니다. 곧 내 수업을 배웠고 그 일을 위해 UDP로 바꾸었다.

+0

안녕하세요 밥, NetServerEnum 함수가 멈추는 것과 동일한 문제가 있습니다. UDP를 대신 사용했다고 말하면 프로토콜을 정확히 어떻게 사용 했습니까? 도와 주셔서 감사합니다. –

+0

시작할 때 INSTDR_BROADCAST를 사용하여 sendto를 사용하여 (작은) UDP 패킷을 브로드 캐스트합니다. 핑 메시지에서 IP 주소와 같은 발신자의 데이터를 입력하십시오. UDP가 신뢰할 수 없으므로 (천천히) 여러 번 수행하십시오. rxr에 송신자에 대한 현재 TCP 연결이없는 경우 ping을 수신하면 TCP를 통해 다시 연결을 시도합니다. NB : 라우터에서 작동하지 않습니다.이 경우 자신의 IP 연결 목록을 유지해야합니다. 코드를 게시 할 수 없으며 내 고용주에게 속합니다. 참고 : IPv6에서는 동일한 기능이 없으므로 멀티 캐스트가 필요합니다. –

관련 문제