2013-03-15 4 views
0

네트워크 장치에 정보를 요청하는 Walker를 만들었습니다.ObjectIdentifier에서 MibModule 개체 또는 엔터티 가져 오기 [SharpSNMPLib]

IPEndPoint receiver = new IPEndPoint(ip, 161); 

IList<Variable> result = new List<Variable>(); 

WalkMode mode = WalkMode.WithinSubtree; 

Messenger.Walk(VersionCode.V1, receiver, new OctetString(community), new ObjectIdentifier("1.3"), result, timeout, mode); 

코드는 모든 OID를 기기에서 완벽하게 반환하지만이 이름을 OID로 변환해야했습니다. 이 변환을 만드는 예제를 보았지만 MIB 컴파일을 사용하므로로드 된 MibModule 메서드 Parser.ParseToModules (...) 목록에서이 변환을 만들었습니다.

어떻게 링크합니까?

답변

0

var modules = Parser.ParseToModules(docs, out errors, out warnings); var assembler = new Assembler(); assembler.Assemble(modules);

당신은 더 모듈을 처리하기 위해 Assembler 클래스를 사용할 수 있습니다. Assembler.Tree은 OID/이름 변환을 수행하는 데 사용할 수있는 트리 (IObjectTree)를 제공합니다.

+0

Tks Lex ...하지만 ... 일부 값 변환이 작동하지 않습니다. "SNMPv2-SMI :: mib-2.2.1.0 :" –

+0

번역에 실패하면 적절한 MIB 문서가로드되었는지 확인해야합니다. –