snmp中如果一个程序同时向四个设备(相同的配置,端口号一样)发送消息,而四个设备同时返回应答,如何保证程序对四个设备的应答都接受到,是否要针对每个设备设置一个应答端口?还是有其他的方法,请教。最好附源码

解决方案 »

  1.   

    udp同样有接收缓冲区,一般不会有问题的,但为了万无一失,最好双方有一个协议,即发送方发送了一个udp包后,接收方收到后给发送方一个反馈,发送方如果在某个设定的时间范围内没有收到反馈的话,可以认定是丢包,于是重新发送。
      

  2.   

    如果按照SNMP协议的标准来构造包,可以在包中设一个Request Id的,还可以设定一个超时重传的机制。
      

  3.   


       SNMP是运用循警方式:即对多个点时,一个一个地轮循地进行;
     先对第一个点发包,收到包后再对第二个点发包,如此循环下去....!
      

  4.   

    如何设置超时重传机制,用snmp api
    默认时是什么
      

  5.   

    SNMPAPI_STATUS SnmpSetRetry(
      HSNMP_ENTITY hEntity,    // destination management entity 
      smiUINT32 nPolicyRetry   // new retry count value for database 
    );SNMPAPI_STATUS SnmpSetTimeout(
      HSNMP_ENTITY hEntity,        // destination management entity 
      smiTIMETICKS nPolicyTimeout  // new time-out value for database 
    );