关于snmp++求教? 本帖最后由 VisualEleven 于 2012-08-29 11:35:04 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 回1楼:之前就是开多个线程做的,但是这样速度还是不行的。查资料的时候看到了异步模式的,就想这么做。问题是单独用异步Get就不会正常调用回调函数,再用一次阻塞Get才能调用,不清楚是什么原因。回2楼:麻烦你找找看能找到没,最近比较着急这个,虽然现在用阻塞Get做,但是效率实在太差,做设备发现的,要挨个去获取数据,许多是不能获取到的,就要等到超时太慢了。 同问,SNMP++是3.2版本,VS2010编译程序是老程序了,之前用VC6编译运行都正常 研究了Snmp++的源码,找到了解决方法:1. snmp = new Snmp(status);不能声明为局部变量,在函数外进行初始化。使用异步调用不允许对snmp进行销毁,否则就出现你说的情况。(这种做法在同步调用时正常)2. 声明后启动消息轮询,即snmp = new Snmp(status);snmp->start_poll_thread(1000); 这样可以正常进入回调函数,1000是超时时间刚找到原因,未研究细理,希望对你有帮助。 不需要全局state,在get操作前start_poll_thread就行了 release版本的问题 听说vs2010编译的程序不能在xpsp3以下的系统运行,是吗? 一个窗口创建后改变样式的问题 【调查+散分】除了MFC ,你还使用其他的库吗? 关于如何把Access转换为.dat文件形式存储和操作的问题? ISAPI连接SQL数据库问题 to zhang_zhibin请进,多谢你的代码 那里能下载到改变LISTCTRL 的HEARDERCTRL颜色的例子? 怎样向notepad的edit子窗口postmessage(post hook来的message),使它显示大写字母 欢迎回复 ip首部中3bit标志字段“更多片”bit的作用。 多网卡非同一网段发送广播包
问题是单独用异步Get就不会正常调用回调函数,再用一次阻塞Get才能调用,不清楚是什么原因。
回2楼:麻烦你找找看能找到没,最近比较着急这个,虽然现在用阻塞Get做,但是效率实在太差,做设备发现的,要挨个去获取数据,许多是不能获取到的,就要等到超时太慢了。
程序是老程序了,之前用VC6编译运行都正常
这样可以正常进入回调函数,1000是超时时间刚找到原因,未研究细理,希望对你有帮助。