//版本查询 if(strncmp((void*)RecvLanBuff, "check version", 13) == 0) { remoteip.addr = dADDR.addr; remoteport = dPort; memset(RecvLanBuff, 0, sizeof(RecvLanBuff)); buf = pbuf_alloc(PBUF_TRANSPORT, 1400, PBUF_ROM); //其实这里并申请不到内存 buf->payload = RecvLanBuff; //将接收缓存用于发送缓存 strcat((void *)RecvLanBuff, SWVERSION); //填入版本号 if(dacu_activate == ACTIVATE_ON) strcat((void *)RecvLanBuff, "dacu_activate:ACTIVATE_ON\n\r"); else if(dacu_activate == ACTIVATE_OFF) strcat((void *)RecvLanBuff, "dacu_activate:ACTIVATE_OFF\n\r"); else if(dacu_activate == ACTIVATE_FREE) strcat((void *)RecvLanBuff, "dacu_activate:ACTIVATE_FREE\n\r"); buf->len = buf->tot_len = strlen(buf->payload); udp_sendto(upcb,buf,&dADDR,dPort); //这个函数发送数据包时,指定目的IP地址 pbuf_free(buf); } |
|