关于 VC6.0下snmp agent 端的问题

没钱吃饭 2010-07-05 02:12:17
大虾们:
俺想问一个 关于snmp agent的问题:

1: 俺已安装 net-snmp软件包,也已生成libsnmp.lib,并且编译正确.
2: snmp manager 端,俺可以保证100%是正确的

现象:

int revnum =ReceiveFrom(m_recvbuf,8192,peer,peerport)
俺调用这个函数从manager端,读取包,
revNum 返回的值,似乎是正确,但是我afxmessagebox((lpctstr)m_recvbuf);发现数据不对,

从耍导致我的agent 端不能正常工作.


望对snmp agent 有经验的大虾们指教指教!

best wishes!
部份源码:
void CUdpSock::OnReceive(int nErrorCode)
{
UINT peerport;
CString peer;
int re = 0;
// unsigned char m_recvbuf[8192];

int revnum = ReceiveFrom(m_recvbuf,8192,peer,peerport);

// 在此调用afxmessagebox((lpctstr)m_recvbuf)发现数据是乱的符号
//Process SnmpData 是将收到的数据, 对应的赋给结构体snmppkg;
re = ProcessSnmpData(m_recvbuf,revnum,snmppkg);
if(re==0)
{
RunSim(m_recvbuf,snmppkg);
CreateSnmpFrame(m_sendbuf,8196,snmppkg);
SendTo(m_sendbuf,snmppkg->total_length,peerport,peer);
m_snmpstat.send++;
}
else
{
m_snmpstat.discard++;
}
CAsyncSocket::OnReceive(nErrorCode);
((CAgentsim2View *)((CMainFrame *)AfxGetMainWnd())->GetActiveView())->ShowSnmpStat();
}
...全文
89 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
oyljerry 2010-07-05
  • 打赏
  • 举报
回复
一个看数据是否接收完整,其次,分析一下接收的数据格式,并不一定是直接的字符串
雪影 2010-07-05
  • 打赏
  • 举报
回复
一次ReceiveFrom不一定能接受完全数据的。需要循环调用才行。

要注意数据的拆包

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧