Obecnie pracuję nad aplikacją do monitorowania niektórych urządzeń wewnętrznych za pomocą net-snmp. Mam kod, który działa nieco, podczas wywoływania snmp_pdu_free()
moich segfaultów kodu. Tworzę strukturę pdu z snmp_create_pdu()
. Chciałbym odwołać się do API, żeby sprawdzić, czy właściwie piszę swój kod poprawnie, ale nie byłem w stanie go znaleźć. Najlepszą rzeczą, jaką znalazłem, są tutoriale na stronie internetowej net-snmp, ale nie są one pomocne w określeniu, czy mój kod jest prawidłowy podczas debugowania.Odniesienie do interfejsu API Net-SNMP?
Odpowiedz
Istnieją strony MAN dla net-snmp, spróbuj man snmp-free-pdu
. Jeśli to nie pomoże, kod źródłowy 5.3.3 jest dostępna do pobrania tutaj:
Dokumentacja Net-SNMP nie jest bardzo pomocne, niestety. Ogólnie rzecz biorąc, interfejs API działa, ale działa.
Oprócz net-snmp.org i liście dyskusyjnej, jest to tylko inne przydatne Net-SNMP pokrewne Znalazłem przydatne:
http://www.cuddletech.com/articles/snmp/index.html
także zapisać się na „netto -snmp-programistów listy mailingowej. Jest bardzo aktywny i możesz uzyskać opinię bezpośrednio od autorów Net-SNMP.
http://www.net-snmp.org/support/mailinglists.html
Powodzenia.
In the tutorial, nie wywołują one snmp_free_pdu()
, aby usunąć PDU utworzone za pomocą snmp_create_pdu()
. Zamiast tego, nazywają go, aby usunąć ten zwrócony przez snmp_synch_response()
.
Rzeczywiście, to stated in the comments:
jednostka PDU jest uwalniany przez snmp_send(), o ile nie wystąpiło uszkodzenie.
Osobiście uważam, że jest to niezręczna decyzja dotycząca projektu, ale teraz jest już za późno.
Strony podręcznika nie zawierają wzmianki o snmp_create_pdu, ale samouczek nie wspomina o tym, a źródła odwołują się do niego. – Edward