/* * @brief 发送PING包维持心跳 */ void Ping_Server(void) { EdpPacket *send_pkg; printf("%s %d\n", __func__, __LINE__); /* 组装ping包 */ send_pkg = PacketPing(); DoSend(0, (const uint8_t *)send_pkg->_data, send_pkg->_write_pos); mDelay(500); /* 必须释放这个内存,否则造成泄露 */ DeleteBuffer(&send_pkg); mDelay(100); }
/* * 向OneNet云端发送心跳包 * */ void cloud_heartbeat_timer_handle(void *ptmr, void *parg) { int ret = 0; EdpPacket* send_pkg = NULL; if (cloud_conn_status.conn_status == CLOUD_CONN_DONE) { /* 封装心跳包 */ send_pkg = PacketPing(); /* 发送心跳包 */ ret = Socket_TCPClientSendData((char*)send_pkg->_data, send_pkg->_write_pos); if (ret < 0) { log_info("Send Heartbeat data failed(ret:%d).\n", ret); } else { log_notice("Send Heartbeat data success.\n"); } DeleteBuffer(&send_pkg); } }