void __fastcall TForm1::Button2Click(TObject *Sender) { IdSNMP1->Query->Clear(); IdSNMP1->Query->Host = L"127.0.0.1"; // IdSNMP1->Query->Community = L"public"; // default 값이 public 이라 안해줘도 됨 IdSNMP1->Query->PDUType = PDUGetRequest; IdSNMP1->Query->MIBOID->Add(L"1.3.6.1.2.1.1.1.0");
if( IdSNMP1->SendQuery()) { for(int i=0; i < IdSNMP1->Reply->ValueCount; i++) { OutputDebugStringW(IdSNMP1->Reply->Value[i].c_str()); }
} }
위와 같은 식으로해도 됩니다. RAD XE2 에서 스트링은 UniCodeString 이죠.
지금 윈도우즈 7 64비트 버전을 사용하고 있는데, 디폴트로 SNMP 서비스가 설치되어있지 않기 때문에 제어판을 통해서 SNMP 서비스를 설치해주고, 서비스 트랩 속성에서 "public"을 커뮤니티 이름으로 추가 해주고 트랩대상은 localhost로, 보안속성에서 받아들일 커뮤니티 이름으로 "public"을 추가해주고(읽기 전용으로 해주면 됩니다) SNMP 패킷을 받아들이도록 설정을 해준 상태에서...
위와 같이 코드를 실행하면... 다음과 같이 윈도우즈 SNMP 서비스가 응답해주는 메세지가 출력 되는 것을 볼수 있을 겁니다.
Hardware: Intel64 Family 6 Model 23 Stepping 10 AT/AT COMPATIBLE - Software: Windows Version 6.1 (Build 7601 Multiprocessor Free)
|