[C] 纯文本查看 复制代码
iCount = 0;
if(netTCP_GetState(tcp_client_sock) == netTCP_StateESTABLISHED)
{
iCount = watch_data_send(send_ssssbuff);
do
{
if(netTCP_SendReady(tcp_client_sock) == true )
{
maxlen = netTCP_GetMaxSegmentSize (tcp_client_sock);
iCount -= maxlen;
if(iCount < 0)
{
/* 这么计算没问题的 */
maxlen = iCount + maxlen;
}
sendbuf = netTCP_GetBuffer(maxlen);
memcpy(sendbuf,send_ssssbuff,maxlen);
/* 必须使用申请的内存空间 */
netTCP_Send (tcp_client_sock, sendbuf, maxlen);
memset(send_ssssbuff,0,sizeof(send_ssssbuff));
};
}while(iCount > 0);
} [mw_shl_code=c,true] uint16_t lenght = 0;
cJSON* cjson_test = NULL;
cJSON* cjson_buff_watch = NULL;
cJSON* cjson_skwatch = NULL;
char* str = NULL;
cjson_test = cJSON_CreateObject();
cJSON_AddStringToObject(cjson_test, "msgType","dataPost");
cJSON_AddStringToObject(cjson_test, "inid","9b7c");
cJSON_AddStringToObject(cjson_test, "outid","b4e5");
cJSON_AddNumberToObject(cjson_test, "outsoc",98);
cJSON_AddNumberToObject(cjson_test, "insoc",98);
cJSON_AddNumberToObject(cjson_test, "outlowpow",0);
cJSON_AddNumberToObject(cjson_test, "inlowpow",0);
cjson_buff_watch = cJSON_CreateArray();
for(uint8_t i = 0; i < dev_num; i++)
{
cjson_skwatch = cJSON_CreateObject();
cJSON_AddStringToObject(cjson_skwatch, "mac",user_watch_data[i].mac_add_str);//手环mac地址
cJSON_AddStringToObject(cjson_skwatch, "ID",user_watch_data[i].SN_add_str);//手环卡号
cJSON_AddNumberToObject(cjson_skwatch, "dis",user_watch_data[i].tof);//距离网关距离
cJSON_AddNumberToObject(cjson_skwatch, "heart",user_watch_data[i].heart_beat);//心率
cJSON_AddNumberToObject(cjson_skwatch, "oxy",user_watch_data[i].blood_o2);//血氧
cJSON_AddNumberToObject(cjson_skwatch, "temp",user_watch_data[i].temp);//体温
cJSON_AddNumberToObject(cjson_skwatch, "pre",user_watch_data[i].blood_pre);//血压
cJSON_AddNumberToObject(cjson_skwatch, "hot",user_watch_data[i].hot);//热量
cJSON_AddNumberToObject(cjson_skwatch, "walk",user_watch_data[i].walk);//步数
cJSON_AddNumberToObject(cjson_skwatch, "soc",user_watch_data[i].soc);//设备电压
cJSON_AddNumberToObject(cjson_skwatch, "sos",user_watch_data[i].sos_falg);//设备求救信号
cJSON_AddNumberToObject(cjson_skwatch, "sta",user_watch_data[i].stat);//手表链接状态
cJSON_AddNumberToObject(cjson_skwatch, "heartala",user_watch_data[i].heart_alarm);//手表链接状态
cJSON_AddNumberToObject(cjson_skwatch, "powsta",user_watch_data[i].lowpower);//手表链接状态
cJSON_AddItemToArray(cjson_buff_watch,cjson_skwatch);//将当前数据加入数据
}
cJSON_AddItemToObject(cjson_test, "watch", cjson_buff_watch);
str = cJSON_PrintUnformatted(cjson_test);
if(str != NULL)
{
lenght = strlen(str);
memcpy(send_buffff,str,lenght);
send_buffff[lenght] = 0x0a;
send_buffff[lenght+1] = 0x00;
free(str);
}
cJSON_Delete(cjson_test);
return lenght+1;
[/mw_shl_code]