使用SNMP4J库我能够使用SNMP over UDP从多个代理成功检索信息。我遇到了需要使用SNMP over TCP从代理检索信息的情况。 SNMP4J库提供了一个DefaultTcpTransportMapping类来执行此操作,我相信我已经适当地实现了它。使用Wireshark,我看到响应数据包是从运行SNMP over TCP的代理返回的,但我得到了空响应PDU。在通过TCP而不是UDP实现SNMP时,我需要考虑哪些其他注意事项?非常感谢任何帮助!
在与董事会制造商讨论后,我们了解到通信模型是基于TCP的PMPP上的SNMP,我正在使用自定义SNMP4J传输来处理此模型。
答案 0 :(得分:1)
尝试增加超时值,TCP比udp慢
UserTarget target = new UserTarget();
target.setTimeout(timeoutInMillis);