之前搞erlang的snmp例子死活搞不通,后来放弃了.
经过坛友的指点,再逐渐尝试一下.
%% coding: latin-1
-module(snmpcl).
-behaviour(application).
%% application callbacks
-export([main/1,start/0,start/1,start/2, stop/1]).
%% API
-export([walk/2, walk/3, walk/4]).
main(_)->
start(["localhost"]).
start()->
start(["localhost"]).
start([Addr])->
start(normal,[]),
walk(Addr,[1,3,6,1,2,1,1,5,0]),
stop(normal).
start(normal, _StartArgs) ->
snmpm:start(),
%%snmpm:register_user(snmpcl_user, snmpcl_user, undefined),
{ok, self()}.
stop(_State) ->
%%snmpm:unregister_agent(snmpcl_user, "snmpcl_user"),
snmpm:stop(),
timer:sleep(100),
%%snmpm_config:stop(),
init:stop().
%%ok.
walk(Address, Oid) ->
walk(v2, Address, "public", Oid).
walk(Address, Community, Oid) ->
walk(v2, Address, Community, Oid).
walk(Version, Address, Community, Oid) ->
Options =
[{engine_id, "the