首页
学习
活动
专区
圈层
工具
发布

Indy失败
EN

Stack Overflow用户
提问于 2014-05-30 09:05:28
回答 1查看 830关注 0票数 0

这是我的代码,使用QuickSend方法得到sysDesc是可以的,但是对于符号率,它总是失败的。我不知道,同样的代码实际上适用于我之前编写的另一个项目(我再次运行它,一切都很好)。

代码语言:javascript
复制
     var
    mySNMP: TidSNMP;
    SymbolRate, sysDesc: string;

   begin
     mySNMP:=TidSNMP.Create(nil);
     try
      mySNMP.Host:=Trim(IpEdit.Text);
      mySNMP.Community:=Trim(CommEdit.Text);
      mySNMP.ReceiveTimeout:=1000;
      if mySNMP.QuickSend('1.3.6.1.2.1.1.1.0', mySNMP.Community, mySNMP.Host, sysDesc)
        then
        ShowMessage(sysDesc)
        else
        ShowMessage('Send Failed');
      if mySNMP.QuickSend('.1.3.6.1.4.1.6247.24.1.2.2.12.0',mySNMP.Community, mySNMP.Host,SymbolRate)
        then
        ShowMessage('Send OK')
        else
        ShowMessage('Send Failed');
     finally
      mySNMP.Free;
     end;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-30 16:32:18

如果以下情况下,QuickSend() (和一般的SendQuery() )返回False:

  1. 套接字被重置(它报告错误代码10054,WSAECONNRESET)。
  2. 在指定的超时内没有收到任何响应。
  3. 不能解析响应。
  4. 响应被解析为包含来自服务器的错误代码(请参阅Reply.ErrorStatus属性)。

我建议的第一件事是从失败的OID中删除领先的.

代码语言:javascript
复制
if mySNMP.QuickSend('1.3.6.1.4.1.6247.24.1.2.2.12.0',mySNMP.Community, mySNMP.Host,SymbolRate)

这样,它与您的earlier question中的查询代码相匹配,该查询代码正在工作:

代码语言:javascript
复制
SNMP.QuickSend('1.3.6.1.4.1.6247.24.1.2.2.12.0',SNMP.Community,SNMP.Host,SRate);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23950813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档