Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带freepascal的Indy snmp_Snmp_Indy_Freepascal - Fatal编程技术网

带freepascal的Indy snmp

带freepascal的Indy snmp,snmp,indy,freepascal,Snmp,Indy,Freepascal,我正在raspberry pi上使用indy和freepascal制作一个简单的snmp应用程序。 我可以ping到设备并通过mibbrowser发送get/set请求,但这不起作用,发送查询总是失败 program snmptest; {$IFDEF FPC} {$MODE DELPHI} {$ENDIF} uses sysutils, IdSNMP, IdUDPBase, IdUDPClient; var snmp:tidsnmp; s,mib:string; begi

我正在raspberry pi上使用indy和freepascal制作一个简单的snmp应用程序。 我可以ping到设备并通过mibbrowser发送get/set请求,但这不起作用,发送查询总是失败

program snmptest;

{$IFDEF FPC}
  {$MODE DELPHI}
{$ENDIF}

uses
  sysutils, IdSNMP, IdUDPBase, IdUDPClient;

var
  snmp:tidsnmp;
  s,mib:string;
begin
  mib:='1.3.6.1.4.1.6247.32.1.2.12.0';
  snmp:=tidsnmp.create(nil);
  try
    snmp.host:='172.16.1.222';
    snmp.community:='public';
    snmp.query.clear;
    snmp.query.pdutype:=pdugetrequest;
    snmp.query.mibadd(mib,'');
    if snmp.sendquery then
    begin
      s:=snmp.reply.mibget(mib);
      writeln(s);
    end
    else begin
      writeln('fail!');
    end;
  finally
    snmp.free;
  end;
end.

谢谢分享代码,不过你应该直接粘贴到问题中,而不是链接它。你也可以分享运行程序的输出吗?只有失败,没有更多。如果FPC v2.6.0.TIDSMPN.SendQuery在等待答复到达时超时,则返回false。默认的TIDSMPN.ReceiveTimeout为5秒,或者如果它无法解析答复。如果看不到实际的网络流量,我们就无法诊断这个问题。你必须亲自进入Indy的源代码,看看到底发生了什么。SendQuery退出后,TIdSNMP.Reply.ErrorStatus的值是多少?您是否尝试过使用数据包嗅探器来比较TIDSMP的流量和MibBrowser的流量?ErrorStatus=2没有这样的名称。有线鲨鱼:嗯,那就很明确了。NoSochName表示SNMP代理没有该OID。您需要了解代理实际支持哪些OID。我建议使用SNMPwalk命令netsnmp或MIB浏览器来查找正确的OID。