fix conflict
This commit is contained in:
commit
f37e64edfd
@ -74,7 +74,7 @@ std::string GetLocalTimeWithMs(void) {
|
||||
|
||||
char buffer[80] = {0};
|
||||
struct tm nowTime;
|
||||
localtime_r(&curTime.tv_sec, &nowTime); //闂傚倷鑳堕、濠傗枖濞戙垺鏅濋柕鍫濇处椤愪粙姊洪鈧粔瀵哥矆閸℃稒鐓欐繛鍫濈仢閺嬬喖鏌i敐澶夋喚闁哄本绋掔换婵嬪礋椤愵澀绮梻浣割吔閺夊灝顫囬悗瑙勬礃椤ㄥ﹥淇婇悜钘壩ч柛婊€鐒︿簺闂傚倷绀侀幖顐﹀疮閸愭祴鏋栨繛鎴欏灩閸ㄥ倿骞栧ǎ顒€濡介柣鎾亾闁诲骸绠嶉崕鍗灻洪敃鍌涘仼闂侇剙绉甸悡鏇㈡煙闁箑澧柛锝呯秺閺岋絾骞婇柛鏂跨Ф缁瑦寰勯幇鍨櫍闂侀潧臎閸滀焦啸缂傚倸鍊烽悞锕€鐣峰Ο琛℃灃闁哄洢鍨归悡婵嬫煠濞村鏉归柛瀣崌閹兘鏌囬敂鍙箓姊洪崨濠勬嚂闁瑰嚖鎷<EFBFBD>
|
||||
localtime_r(&curTime.tv_sec, &nowTime); //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>琿㭠<EFBFBD>𨰻<EFBFBD><EFBFBD><EFBFBD><EFBFBD>埈<EFBFBD>瞈墧<EFBFBD><EFBFBD>粹<EFBFBD>瞈𧢲<EFBFBD><EFBFBD>?瞈<>?<3F>中<EFBFBD>?蝎坔?𦠜揪<F0A6A09C>烾ê<E783BE><C3AA><EFBFBD><EFBFBD>萄𢬢<E89084><F0A2ACA2>鴡<EFBFBD><E9B4A1><EFBFBD><EFBFBD>𤘪<EFBFBD>蝜偦㪗瞈<E3AA97>誥<EFBFBD>箏??<3F>㚚<EFBFBD>嚚㗇<E59A9A>瞉嗅?见<><E8A781><EFBFBD><EFBFBD><EFBFBD>?蝏𧢲<E89D8F><F0A7A2B2>W延戭?蝷𧢲中<F0A7A2B2>菜<EFBFBD>蝏?<3F>墧Ⅲ瘚<E285A2>𠧧<EFBFBD>娪𤄄憭羓<E686AD>憿?<3F>?<3F>㛖<EFBFBD><E39B96>?蝷<>中<EFBFBD>伐馴瘛<E9A6B4><E7989B><EFBFBD>𣈯<EFBFBD>憯戾<E686AF><E688BE>憍𪙛<E6868D><F0AA999B>𡜐蛾蝪粹<E89DAA><E7B2B9>𡁜<EFBFBD>瑞<EFBFBD>靘<EFBFBD>撟㚚?琜<><E7909C>?<3F>豢<EFBFBD>蟡湧<E89FA1><E6B9A7>函<EFBFBD><E587BD>湔<EFBFBD><E6B994>拚鴡<E68B9A>亙<EFBFBD>輸<EFBFBD><E8BCB8>?<3F>憿圝<E686BF>瞈∩<E79E88><E288A9><EFBFBD>罇<EFBFBD>帋瑣<E5B88B><E791A3>?脤?貊<>撊匧<E6928A><E58CA7>㛖<EFBFBD>瘣?<3F><><EFBFBD>瘨䀝遞<E4809D><E9819E><EFBFBD><EFBFBD>嗵<EFBFBD><E597B5>豢<EFBFBD><E8B1A2><EFBFBD>ǜ<EFBFBD>䠷<EFBFBD><E4A0B7>函<EFBFBD>瞉抆<E79E89><E68A86>偦<EFBFBD><E581A6>?蝘粹𤄄撗讠翔撉𧼮<E69289><F0A7BCAE>偦<EFBFBD>頝佬斤<E4BDAC><E696A4>賜𪈳撖啣墙撟<E5A299>崕<EFBFBD><E5B495><EFBFBD><EFBFBD><EFBFBD><EFBFBD>瞏扯<E79E8F><E689AF>豢<EFBFBD><E8B1A2>血彍蝻<E5BD8D><E89DBB><EFBFBD>賊<EFBFBD><E8B38A>賣<EFBFBD><E8B3A3>𨰝<EFBFBD><F0A8B09D><EFBFBD>陸<EFBFBD><E999B8>𥕞<EFBFBD><F0A5959E><EFBFBD><EFBFBD><EFBFBD><EFBFBD>揣<EFBFBD>典<EFBFBD><E585B8>∪延戭?<3F>䭾<EFBFBD><E4ADBE>㻇<EFBFBD><E3BB87>匧<EFBFBD><E58CA7>𤤿<EFBFBD><F0A4A4BF><EFBFBD>撏屸䲮<E5B1B8>曉<EFBFBD><E69B89><EFBFBD>𨪚<EFBFBD><F0A8AA9A><EFBFBD><EFBFBD>?蝞枏?𦠜揪撏冽<E6928F><E586BD>?<3F><><EFBFBD><EFBFBD>啣<EFBFBD><E595A3>瘀蕭
|
||||
strftime(buffer, sizeof(buffer), "%Y%m%d%H%M%S", &nowTime);
|
||||
|
||||
char currentTime[84] = {0};
|
||||
@ -110,13 +110,13 @@ int code_convert(const char *from_charset, const char *to_charset, char *inbuf,
|
||||
int InitGpio(unsigned int gpioN, unsigned int inout) {
|
||||
int fd = 0;
|
||||
char tmp[100] = {0};
|
||||
//闂傚倷鑳堕幊鎾绘倶濮樿泛绠伴柛婵勫劜椤洟鏌熸潏鈺佲偓宄闂備浇宕垫慨鎶芥倿閿曞倸纾块柟璺哄閸ヮ剦鏁嗛柛鏇ㄥ亝椤ユ繈姊洪幖鐐插姷闂傚嫬瀚伴、鏇㈡晸閿燂拷
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>琿㭠<EFBFBD>訫<EFBFBD><EFBFBD>曄<EFBFBD><EFBFBD>嗆耨璅踵<EFBFBD>蝏牐撈<EFBFBD>𥕦延<EFBFBD>?<3F>𨀣中<F0A880A3><E4B8AD><EFBFBD><EFBFBD>𣬚<EFBFBD>瞏誯<E79E8F>雿脣<E99BBF>摰<EFBFBD>鮟<EFBFBD><E9AE9F><EFBFBD>瘚<EFBFBD><E7989A><EFBFBD>?<3F>券𦅚<E588B8>亙<EFBFBD>輸𪃭<E8BCB8>𧼮<EFBFBD>貊瑣<E8B28A>埈<EFBFBD><E59F88>箏<EFBFBD><E7AE8F>鮋鴡<E9AE8B>?<3F>阡<EFBFBD><E998A1>𥟇<EFBFBD><F0A59F87><EFBFBD><EFBFBD>鈭脲中<E884B2>衣<EFBFBD>憪𦠜揪撟㚚<E6929F><E39A9A>鍦孚<E98DA6><E5AD9A><EFBFBD>憳?<3F>帋撈<E5B88B><E69288><EFBFBD><EFBFBD>⊥烵<E28AA5>輻<EFBFBD><E8BCBB>?
|
||||
fd = open("/sys/class/gpio/export", O_WRONLY);
|
||||
if (-1 == fd) {
|
||||
zlog_error(zbt, "open gpio export file error");
|
||||
return 1;
|
||||
}
|
||||
//闂傚倷鐒﹂惇褰掑垂瑜版帗鍋柛銉墻閺佸鏌i悙鍨紬io
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>琿<EFBFBD>儮<EFBFBD><EFBFBD>銴唳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>韦<EFBFBD><EFBFBD>偦<EFBFBD><EFBFBD>澆Ⅲ<EFBFBD>箔螂<EFBFBD>厰<EFBFBD>嚚㗇<EFBFBD><EFBFBD>?<3F>?蝝枰o
|
||||
sprintf(tmp, "%d", gpioN);
|
||||
if (write(fd, tmp, strlen(tmp)) < 0) {
|
||||
zlog_error(zbt, "write file operation error:%s", tmp);
|
||||
@ -126,7 +126,7 @@ int InitGpio(unsigned int gpioN, unsigned int inout) {
|
||||
|
||||
close(fd);
|
||||
sleep(1);
|
||||
//闂傚倸鍊烽悞锕€顭垮Ο鑲╃煋闁割偅娲橀崑顏堟煕閻愭彃鍘o闂傚倷绀侀幖顐﹀磹婵犳艾绠犻柟鎹愵嚙缁犳牠鏌ㄩ悤鍌涘
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>賊<EFBFBD><EFBFBD>賣<EFBFBD><EFBFBD>𨰝<EFBFBD>憿?<3F>?<3F><>聆<EFBFBD><E88186>钅<EFBFBD><E99285>脣<EFBFBD>憡脫<E686A1>撏煾?誩<><E8AAA9>閖鸘<E99696>?敶<><E695B6><EFBFBD>皋<EFBFBD><E79A8B><EFBFBD><EFBFBD>瑞<EFBFBD>靘<EFBFBD>撟㚚?琜<>蝤孵延<E5ADB5>唾𪄳蝏删䪴<E588A0>罸䌫<E7BDB8>萄<EFBFBD>蝻<EFBFBD>𠓼<EFBFBD>𣳇<EFBFBD><F0A3B387>拇<EFBFBD><E68B87>峕<EFBFBD><E5B395>?
|
||||
#ifdef G2UL_GATEWAY
|
||||
char tmp2[100] = {0};
|
||||
if (gpioN == 507)
|
||||
@ -235,14 +235,14 @@ int gpio_set(unsigned int gpioN, char x) {
|
||||
#endif
|
||||
|
||||
zlog_info(zbt, "set GPIO = %s", tmp);
|
||||
//闂傚倷鑳堕幊鎾绘倶濮樿泛绠伴柛婵勫劜椤洟鏌熸潏鈺佲偓宄 value闂傚倷绀侀幖顐﹀磹缁嬫5娲晲閸涱亝鐎婚梺璺ㄥ櫐閹凤拷
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>琿㭠<EFBFBD>訫<EFBFBD><EFBFBD>曄<EFBFBD><EFBFBD>嗆耨璅踵<EFBFBD>蝏牐撈<EFBFBD>𥕦延<EFBFBD>?<3F>𨀣中<F0A880A3><E4B8AD><EFBFBD><EFBFBD>𣬚<EFBFBD>瞏誯<E79E8F>雿脣<E99BBF>摰<EFBFBD>鮟 value<75><65><EFBFBD><EFBFBD>瑞<EFBFBD>靘<EFBFBD>撟㚚?琜<>蝤寧<E89DA4>戭?嚗訫迆<E8A8AB><E8BF86>苿<EFBFBD>豢雇鈭嗪<E988AD>憍𡁏Ⅱ<F0A1818F>箝<EFBFBD>瑹鞾䲮<E99EBE>斗鼧
|
||||
fd = open(tmp, O_WRONLY);
|
||||
if (-1 == fd) {
|
||||
zlog_error(zbt, "[%s] open gpio export file error", tmp);
|
||||
close(fd);
|
||||
return (-1);
|
||||
}
|
||||
//闂備浇宕垫慨宕囩矆娴h娅犲ù鐘差儐閸嬵亪鏌涢埄鍐姇闁稿鍔戝濠氬醇閻旂儤鍒涢梺褰掓交閹凤拷
|
||||
//<EFBFBD><EFBFBD><EFBFBD>瘚<EFBFBD><EFBFBD><EFBFBD>?<3F>典<EFBFBD><E585B8>拍<EFBFBD>憡湛<E686A1><E6B99B>匧<EFBFBD><E58CA7>笛寥<E7AC9B>撌?<3F>鞾鴡戭萎漯<E8908E>峕閒<E5B395><E99692><EFBFBD><EFBFBD><EFBFBD>?<3F><>蝔遴<E89D94><E981B4>娍<EFBFBD><E5A88D>𤩺<EFBFBD>瘞?<3F><>鸘<EFBFBD><E9B898><EFBFBD><EFBFBD>埝閒璇箄什<E7AE84>㮖漱<E3AE96>孵龗<E5ADB5>?
|
||||
if (x) {
|
||||
if (-1 == write(fd, "1", sizeof("1"))) {
|
||||
zlog_error(zbt, "%d write operation value error", gpioN);
|
||||
@ -304,13 +304,13 @@ int gpio_read(unsigned int gpioN) {
|
||||
#ifdef IMX6UL_GATEWAY
|
||||
sprintf(tmp, "/sys/class/gpio/gpio%d/value", gpioN);
|
||||
#endif
|
||||
//闂傚倷鑳堕幊鎾绘倶濮樿泛绠伴柛婵勫劜椤洟鏌熸潏鈺佲偓宄 value闂傚倷绀侀幖顐﹀磹缁嬫5娲晲閸涱亝鐎婚梺璺ㄥ櫐閹凤拷
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>琿㭠<EFBFBD>訫<EFBFBD><EFBFBD>曄<EFBFBD><EFBFBD>嗆耨璅踵<EFBFBD>蝏牐撈<EFBFBD>𥕦延<EFBFBD>?<3F>𨀣中<F0A880A3><E4B8AD><EFBFBD><EFBFBD>𣬚<EFBFBD>瞏誯<E79E8F>雿脣<E99BBF>摰<EFBFBD>鮟 value<75><65><EFBFBD><EFBFBD>瑞<EFBFBD>靘<EFBFBD>撟㚚?琜<>蝤寧<E89DA4>戭?嚗訫迆<E8A8AB><E8BF86>苿<EFBFBD>豢雇鈭嗪<E988AD>憍𡁏Ⅱ<F0A1818F>箝<EFBFBD>瑹鞾䲮<E99EBE>斗鼧
|
||||
fd = open(tmp, O_RDONLY);
|
||||
if (-1 == fd) {
|
||||
zlog_error(zbt, "%d open gpio export file error", gpioN);
|
||||
return (-1);
|
||||
}
|
||||
//闂備浇宕垫慨鏉懨洪埡鍜佹晪鐟滄垿濡甸幇鐗堟櫢闁跨噦鎷<EFBFBD> value闂傚倷绀侀幖顐﹀磹缁嬫5娲晲閸涱亝鐎婚梺璺ㄥ櫐閹凤拷
|
||||
//<EFBFBD><EFBFBD><EFBFBD>瘚<EFBFBD><EFBFBD><EFBFBD>?<3F>券<EFBFBD><E588B8>冽揪<E586BD>⊿<EFBFBD>雿寞臁<E5AF9E><E88781><EFBFBD><EFBFBD>踵縑<E8B8B5>詨<EFBFBD><E8A9A8>堒<EFBFBD>瑹a<E791B9>頝典膓<E585B8>瘀蕭 value<75><65><EFBFBD><EFBFBD>瑞<EFBFBD>靘<EFBFBD>撟㚚?琜<>蝤寧<E89DA4>戭?嚗訫迆<E8A8AB><E8BF86>苿<EFBFBD>豢雇鈭嗪<E988AD>憍𡁏Ⅱ<F0A1818F>箝<EFBFBD>瑹鞾䲮<E99EBE>斗鼧
|
||||
if (-1 == read(fd, &value, sizeof(value))) {
|
||||
zlog_error(zbt, "%d read gpiovalue is fail", gpioN);
|
||||
close(fd);
|
||||
@ -465,14 +465,6 @@ int system_custom(const char *cmd, char *buf) {
|
||||
return res;
|
||||
}
|
||||
|
||||
std::string GetDayDate() {
|
||||
time_t t = time(0);
|
||||
char tmp[64];
|
||||
strftime(tmp, sizeof(tmp), "%Y-%m-%d", localtime(&t));
|
||||
std::string data = std::string((char *)tmp);
|
||||
return data;
|
||||
}
|
||||
|
||||
void GetTimeNet(char *timebuf, int type) {
|
||||
struct timeval tv;
|
||||
gettimeofday(&tv, NULL);
|
||||
@ -504,14 +496,14 @@ std::string GetRTC(char *timestamp, int &millisecond) {
|
||||
printf("RTC date/time is %d-%d-%d, %02d:%02d:%02d\n", rtc_tm.tm_year + 1900, rtc_tm.tm_mon + 1, rtc_tm.tm_mday, rtc_tm.tm_hour, rtc_tm.tm_min, rtc_tm.tm_sec);
|
||||
sprintf(rtcTime, "%d-%d-%d, %02d:%02d:%02d", rtc_tm.tm_year + 1900, rtc_tm.tm_mon + 1, rtc_tm.tm_mday, rtc_tm.tm_hour, rtc_tm.tm_min, rtc_tm.tm_sec);
|
||||
|
||||
// 闂備浇顕х换鎰崲閹版澘鏋侀柛宥囧发_time缂傚倸鍊搁崐鐑芥倿閿曞倸绠板┑鐘崇閸婂灚銇勯弽銊р姇濠殿垱鎸抽弻鐔煎箲閹板灚缍堢紓浣风贰閸o綁寮婚悢鐑樺珰闁斥晛鍟扮粣鏃堟煟閻樺啿濮夐柛鏂跨┘me_t闂傚倷绀侀幖顐﹀疮椤愶附鍋夐柣鎾冲濞戙垹閿ゆ俊銈傚亾缂佺媴缍侀弻銊╂偆閸屾稑顏<EFBFBD>
|
||||
// <EFBFBD><EFBFBD><EFBFBD>瘚<EFBFBD>?䢛<>揢<EFBFBD>堊<EFBFBD>撏脤䲮<E884A4><E4B2AE><EFBFBD><EFBFBD>衤<EFBFBD><E8A1A4>𥕦?亙𧗾<E4BA99>䰎time蝻<65><E89DBB><EFBFBD>賊<EFBFBD><E8B38A><EFBFBD><EFBFBD><EFBFBD>𤏸𥁒<F0A48FB8>輸𪃭<E8BCB8>𧼮<EFBFBD>貊<EFBFBD><E8B28A>踱<EFBFBD><E8B8B1>睃<EFBFBD><E79D83>脤鴡憍<E9B4A1><E6868D><EFBFBD><EFBFBD>墙撘賡<E69298><E8B3A1>憪<EFBFBD><E686AA>畾踹鵐<E8B8B9>豢𡂝撘駁<E69298><E9A781>𡒊?脤䲮<E884A4>輻<EFBFBD>蝻滚𨯂蝝𤘪童憌舘敦<E88898>賂<EFBFBD>蝬<EFBFBD>??憍𡁏<E6868D><F0A1818F>烐那<E78390>圈<EFBFBD><E59C88>交<EFBFBD><E4BAA4><EFBFBD>肼蝎<E882BC><E89D8E><EFBFBD>毺<EFBFBD><E6AFBA>餅那<E9A485>踵耨憭鞉<E686AD><E99E89><EFBFBD>楊<EFBFBD>𤉖e_t<5F><74><EFBFBD><EFBFBD>瑞<EFBFBD>靘<EFBFBD>撟㚚?琜<><E7909C>?璊斗<E7928A><E69697><EFBFBD><EFBFBD>憭鞉鰊<E99E89>曉<EFBFBD><E69B89><EFBFBD><EFBFBD><EFBFBD>坔㧜<E59D94>踴<EFBFBD>靽𢠃<E99DBD><F0A2A083>帋瑣蝻<E791A3>蝶慦渡<E685A6>靘<EFBFBD>撘駁<E69298><E9A781><EFBFBD><EFBFBD><EFBFBD>詨掛蝔煾?𧶏蕭
|
||||
tm.tm_year = rtc_tm.tm_year;
|
||||
tm.tm_mon = rtc_tm.tm_mon;
|
||||
tm.tm_mday = rtc_tm.tm_mday;
|
||||
tm.tm_hour = rtc_tm.tm_hour;
|
||||
tm.tm_min = rtc_tm.tm_min;
|
||||
tm.tm_sec = rtc_tm.tm_sec;
|
||||
tm.tm_isdst = -1; // 婵犵數鍋為崹鍫曞箰閸濄儳鐭撻柧蹇e亞缁犻箖鏌涢妷顔煎闁稿鍔戦弻鏇熺箾閸喖濮跺┑鈥冲级閸庢娊婀侀梺缁橈供閸犳牠鍩€椤掍胶澧い顏勫暣閺佹捇鏁撻敓锟<EFBFBD>
|
||||
tm.tm_isdst = -1; // 憍萇𠽌<EFBFBD>賊<EFBFBD><EFBFBD>箏晶<EFBFBD>?<3F>䂿?圈鴡瞈<E9B4A1><E79E88><EFBFBD>?<3F>餅榀頩<E6A680><E9A0A9>鈭䂿<E988AD><E482BF>餌<EFBFBD><E9A48C>峕閒憒琿?𠉛<><F0A0899B>?<3F><>?遴<><E981B4>娍ề撘駁<E69298><E9A781>箇?暸鴡<E69AB8>穃<EFBFBD>瞈?頝算<E9A09D><E7AE97>亙<EFBFBD>蝥折鴡摨W<E691A8>憍<EFBFBD>靘<EFBFBD>璇箇<E79287>璈<EFBFBD><E79288><EFBFBD>貊𠓼<E8B28A>𣳇嘡<F0A3B387>?璊斗<E7928A><E69697>嗆儒<E59786><E58492><EFBFBD>憿誩𤧚<E8AAA9><F0A4A79A>𤄄雿寞<E99BBF><E5AF9E><EFBFBD>凃<EFBFBD>㯄<EFBFBD>嚙?
|
||||
|
||||
rtc_timestamp = mktime(&tm);
|
||||
|
||||
@ -525,18 +517,6 @@ std::string GetRTC(char *timestamp, int &millisecond) {
|
||||
return std::string(rtcTime);
|
||||
}
|
||||
|
||||
void GetTime_(char time_buff[], TIME_SIZE len) {
|
||||
int i = sizeof(time_buff);
|
||||
memset(time_buff, 0, i);
|
||||
time_t timep;
|
||||
time(&timep);
|
||||
strcpy(time_buff, ctime(&timep));
|
||||
std::string strtemp = time_buff;
|
||||
strtemp = strtemp.substr(11, len);
|
||||
memset(time_buff, 0, strlen(time_buff));
|
||||
strcpy(time_buff, strtemp.c_str());
|
||||
}
|
||||
|
||||
std::string ReadStrByOpt(std::string filename, std::string config, std::string option) {
|
||||
boost::mutex::scoped_lock lock(s_config_mu);
|
||||
Json::Value root;
|
||||
@ -739,8 +719,8 @@ void ImportConfig(std::string filename) {
|
||||
}
|
||||
|
||||
int UpdataDataNodeConfig(std::string filename) {
|
||||
std::vector<DataNodeInfo> vecDataNode; //婵犵數濮伴崹鐟帮耿鏉堛劍娅犳俊銈傚亾閸楅亶鏌熺€电ǹ浠ч柍缁樻閺屽秷顧侀柛鎾存皑缁瑦寰勯幇鍨櫆闂佸憡娲﹂崢浠嬪箟閼姐倗纾藉ù锝堫嚃濞堬絿绱撻崒娑欑殤闁硅弓鍗冲畷鍗炩槈濡晝鏇㈡⒑绾懏褰х紒鐘冲灥閳诲秹鏁撻敓锟<EFBFBD>
|
||||
//婵犵數鍋涢顓熸叏娴兼潙纾块柟缁㈠櫘閺佸霉閸忓吋缍戠紒鈧崒鐐寸厪濠㈣埖鐩顕€鏌i幘瀵告噮闁逞屽墯椤旀牠宕伴弽顐e床闁瑰鍋炲▍鐘绘煥閺囨浜惧銈嗘穿缂嶄線宕洪埀顒併亜閹烘垵顏╂俊顐o耿閺屾盯濡烽鐐搭€嶅銈嗗姧閹凤拷
|
||||
std::vector<DataNodeInfo> vecDataNode; //憍萇𠽌<EFBFBD>豢耨隡游晶<EFBFBD>笔葬<EFBFBD>輸<EFBFBD><EFBFBD>𥕦<EFBFBD>憡<EFBFBD>𠓼靽𢠃<EFBFBD><EFBFBD>帋瑣<EFBFBD>豢?<3F>熄<EFBFBD>𣬚<EFBFBD><F0A3AC9A>?<3F>腎寞<E8858E><E5AF9E><EFBFBD>滨<EFBFBD>璅魂<E79285><E9AD82>箏掃蝘琿“靘<E2809C><E99D98>偦罇摮条<E691AE>蝻<EFBFBD><E89DBB><EFBFBD>血?啣墙撟<E5A299>崕<EFBFBD><E5B495><EFBFBD><EFBFBD><EFBFBD>螂<EFBFBD>∪迆儮<E8BF86>揣瘚惩??蝞罸䲰憪𣂼<E686AA>㛖瑣<E39B96>甙寥<E79499><E5AFA5>?<3F><><EFBFBD><EFBFBD>?蝯輻跼<E8BCBB>餃<EFBFBD>憡烐<E686A1>畾日<E795BE>蝖<EFBFBD><E89D96><EFBFBD>堒<EFBFBD><E5A092>琿<EFBFBD><E790BF>拇?<3F>縑<EFBFBD>𡁏<EFBFBD><F0A1818F><EFBFBD>ǜ<EFBFBD>𤑳遝<F0A491B3>墧<EFBFBD>銴參<E98AB4><E58F83><EFBFBD>睃<EFBFBD><E79D83>仿鯏霂脩完<E884A9><E5AE8C>凃<EFBFBD>㯄<EFBFBD>嚙?
|
||||
//憍萇𠽌<EFBFBD>賊<EFBFBD>瘨f<EFBFBD>憿梶<EFBFBD><EFBFBD>誩迄<EFBFBD>潭<EFBFBD>蝥曉<EFBFBD><EFBFBD>毺<EFBFBD><EFBFBD>䭾<EFBFBD><EFBFBD>箔螂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>詨<EFBFBD><EFBFBD>讠<EFBFBD><EFBFBD>删<EFBFBD><EFBFBD>抆<EFBFBD>撏㘾<EFBFBD>撖詨綳瞈𨬭ê̄<EFBFBD>㚚𨫥<EFBFBD>𡃓<EFBFBD>憿𨰝<EFBFBD><EFBFBD>䕘<EFBFBD>撟条<EFBFBD>萄<EFBFBD><EFBFBD>?<3F><><EFBFBD>𧼮掃憓?璊斗<E7928A><E69697>惩<EFBFBD>隡游播憿琜<E686BF>摨𢠃<E691A8><F0A2A083>堊鐯<E5A08A>讠<EFBFBD><E8AEA0>漤<EFBFBD>蝏条<E89D8F><E69DA1>箏𢂚<E7AE8F><F0A2829A><EFBFBD><EFBFBD>抆<EFBFBD><E68A86><EFBFBD><EFBFBD>蝛輻<E89D9B>撊<EFBFBD><E6928A>摰閙揪<E99699><E68FAA>憿雴蔥鈭𣈯䲮<F0A388AF>睃嬍憿謿<E686BF>靽𢠃?琜<><E7909C>輸𤄄撅曄𤀻瞈∠<E79E88><E288A0>偦<EFBFBD><E581A6>?<3F>?撊<><E6928A><EFBFBD><EFBFBD><EFBFBD>憪折䲮<E68A98>斗鼧
|
||||
std::ifstream csv_data(filename, std::ios::in);
|
||||
int iRet = 0;
|
||||
if (!csv_data.is_open()) {
|
||||
@ -748,16 +728,16 @@ int UpdataDataNodeConfig(std::string filename) {
|
||||
return -1;
|
||||
}
|
||||
std::string line;
|
||||
std::vector<std::string> words; //婵犵數濮伴崹鐟帮耿鏉堛劍娅犳俊銈傚亾閸楅亶鏌熺€电ǹ浠ч柍缁樻閺屽秷顧侀柛鎾存皑缁瑦寰勯幇鍨櫆闂佸憡娲﹂崢浠嬪箟閼姐倗纾藉ù锝堫嚃濞堬絿绱撻崒娑欑殤闁硅弓鍗冲畷鍗炩槈濡晝鏇㈡⒑绾懏褰х紒鐘冲灥閳诲秹鏁撻敓锟<EFBFBD>
|
||||
std::vector<std::string> words; //憍萇𠽌<EFBFBD>豢耨隡游晶<EFBFBD>笔葬<EFBFBD>輸<EFBFBD><EFBFBD>𥕦<EFBFBD>憡<EFBFBD>𠓼靽𢠃<EFBFBD><EFBFBD>帋瑣<EFBFBD>豢?<3F>熄<EFBFBD>𣬚<EFBFBD><F0A3AC9A>?<3F>腎寞<E8858E><E5AF9E><EFBFBD>滨<EFBFBD>璅魂<E79285><E9AD82>箏掃蝘琿“靘<E2809C><E99D98>偦罇摮条<E691AE>蝻<EFBFBD><E89DBB><EFBFBD>血?啣墙撟<E5A299>崕<EFBFBD><E5B495><EFBFBD><EFBFBD><EFBFBD>螂<EFBFBD>∪迆儮<E8BF86>揣瘚惩??蝞罸䲰憪𣂼<E686AA>㛖瑣<E39B96>甙寥<E79499><E5AFA5>?<3F><><EFBFBD><EFBFBD>?蝯輻跼<E8BCBB>餃<EFBFBD>憡烐<E686A1>畾日<E795BE>蝖<EFBFBD><E89D96><EFBFBD>堒<EFBFBD><E5A092>琿<EFBFBD><E790BF>拇?<3F>縑<EFBFBD>𡁏<EFBFBD><F0A1818F><EFBFBD>ǜ<EFBFBD>𤑳遝<F0A491B3>墧<EFBFBD>銴參<E98AB4><E58F83><EFBFBD>睃<EFBFBD><E79D83>仿鯏霂脩完<E884A9><E5AE8C>凃<EFBFBD>㯄<EFBFBD>嚙?
|
||||
std::string word;
|
||||
|
||||
DataNodeInfo dataNode;
|
||||
// ------------闂備浇宕垫慨鏉懨洪埡鍜佹晪鐟滄垿濡甸幇鏉跨倞妞ゆ巻鍋撻柡瀣╃窔閺岋絽螖閳ь剟鎮ч崱娆戠焾闁跨噦鎷<EFBFBD>-----------------
|
||||
// 闂備浇宕垫慨鏉懨洪埡鍜佹晪鐟滄垿濡甸幇鏉跨倞妞ゆ巻鍋撻柛鎰ㄥ亾闂備焦鎮堕崕娲礈閿曞倸姹叉い鏍仦閸嬬姵绻涢幋锝嗙彧閻庢熬鎷<EFBFBD>
|
||||
// ------------<EFBFBD><EFBFBD><EFBFBD>瘚<EFBFBD><EFBFBD><EFBFBD>?<3F>券<EFBFBD><E588B8>冽揪<E586BD>⊿<EFBFBD>雿寞臁<E5AF9E><E88781><EFBFBD><EFBFBD>踵縑<E8B8B5>詨<EFBFBD><E8A9A8>㕑楊<E39591>𧼮?𠺶<>撌駁<E6928C><E9A781>餅椬<E9A485><E6A4AC><EFBFBD>蝒娪𤄄撗讠善<E8AEA0>㚚鯏<E39A9A><E9AF8F>罸緤<E7BDB8>撏勗<E6928F><E58B97>删<EFBFBD><E588A0><EFBFBD>楊<EFBFBD>阡繮嚙?-----------------
|
||||
// <EFBFBD><EFBFBD><EFBFBD>瘚<EFBFBD><EFBFBD><EFBFBD>?<3F>券<EFBFBD><E588B8>冽揪<E586BD>⊿<EFBFBD>雿寞臁<E5AF9E><E88781><EFBFBD><EFBFBD>踵縑<E8B8B5>詨<EFBFBD><E8A9A8>㕑楊<E39591>𧼮?𠺶<>撌駁<E6928C><E9A781>餅<EFBFBD><E9A485>啜<EFBFBD>鈭暸<E988AD><E69AB8>嗵<EFBFBD><E597B5>?<3F>訫<EFBFBD>憡船<E686A1>蝷<EFBFBD>𪃭<EFBFBD>𧼮<EFBFBD>詨完<E8A9A8>剹<EFBFBD><E589B9>澾<EFBFBD>隞阡鴡戭?憪萇遙瘨W<E798A8><EFBCB7>嘥<EFBFBD>敶折鸘摨Y<E691A8><EFBCB9>瘀蕭
|
||||
getline(csv_data, line);
|
||||
|
||||
std::istringstream sin;
|
||||
// 闂傚倷绀佸﹢杈ㄧ仚濡炪倧闄勬繛濠囧Υ娓氣偓楠炲鎮╅崘鑼酱闂佽崵濮村ú锕併亹閸愵亜绶ら柛褎顨嗛悡娑樏归敐鍛儓妞わ綀鍋愰埀顒冾潐閹碱偊骞忛敓锟<EFBFBD>
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>瑞<EFBFBD>雿賂飾<EFBFBD><EFBFBD><EFBFBD>隞𡁏縑<EFBFBD>?<3F>折<EFBFBD><E68A98>?蝜𥟇<E89D9C><F0A59F87>?峊憡𤘪除<F0A498AA>𤘪?删<><E588A0>厰緤<E58EB0><E7B7A4><EFBFBD><EFBFBD>澗<EFBFBD><E6BE97>梢<EFBFBD>雿賢斯瞈?<3F>齅粹<E9BD85>雿萎犒<E8908E>豢<EFBFBD>鈭𦦵辣<F0A6A6B5>㗇<EFBFBD>銴𡡞”<F0A1A19E>𥟇<EFBFBD>憡烐<E686A1>敶埝<E695B6><E59F9D>䝼<EFBFBD><E49DBC>枏?𠺶<>蝬<EFBFBD><E89DAC>𧢲<EFBFBD><F0A7A2B2><EFBFBD>憿鍦<E686BF>瞏鞾䲮蝣勗<E89DA3>撉𧼮<E69289><F0A7BCAE>㯄<EFBFBD>嚙?
|
||||
while (getline(csv_data, line)) {
|
||||
words.clear();
|
||||
sin.clear();
|
||||
@ -954,60 +934,6 @@ std::string IpAddrInit() {
|
||||
return strip;
|
||||
}
|
||||
|
||||
std::string &ClearAllSpace(std::string &str) {
|
||||
size_t index = 0;
|
||||
if (!str.empty()) {
|
||||
while ((index = str.find(' ', index)) != std::string::npos) {
|
||||
str.erase(index, 1);
|
||||
}
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
std::string GetSysInfo() {
|
||||
const char *getCpuUse = "top -b -n 1 |grep Cpu | cut -d \",\" -f 1 | cut -d \":\" -f 2 |tr -d ' us'";
|
||||
char chRes[100] = {0};
|
||||
system_custom(getCpuUse, chRes);
|
||||
std::string CpuUse = std::string(chRes);
|
||||
|
||||
const char *getCpuSys = "top -b -n 1 |grep Cpu | cut -d \",\" -f 2 |tr -d ' sy'";
|
||||
memset(chRes, 0, 100);
|
||||
system_custom(getCpuSys, chRes);
|
||||
std::string CpuSys = std::string(chRes);
|
||||
|
||||
const char *getMemtotal = "cat /proc/meminfo | grep MemTotal | awk -F"
|
||||
":"
|
||||
" '{print $2}' |tr -d ' kB'";
|
||||
memset(chRes, 0, 100);
|
||||
system_custom(getMemtotal, chRes);
|
||||
std::string MemTotal = std::string(chRes);
|
||||
|
||||
const char *getMemFree = "cat /proc/meminfo | grep MemFree | awk -F"
|
||||
":"
|
||||
" '{print $2}' |tr -d ' kB'";
|
||||
memset(chRes, 0, 100);
|
||||
system_custom(getMemFree, chRes);
|
||||
std::string MemFree = std::string(chRes);
|
||||
|
||||
float a = atof(MemFree.c_str());
|
||||
float b = atof(MemTotal.c_str());
|
||||
float c = (1 - a / b) * 100;
|
||||
|
||||
const char *getEmmcInfo = "df -h | grep /dev/root";
|
||||
memset(chRes, 0, 100);
|
||||
system_custom(getEmmcInfo, chRes);
|
||||
std::string Emmcinfo = std::string(chRes);
|
||||
std::size_t found = Emmcinfo.find("%");
|
||||
if (found != std::string::npos) {
|
||||
Emmcinfo = Emmcinfo.substr(found - 3, 3);
|
||||
}
|
||||
Emmcinfo = ClearAllSpace(Emmcinfo);
|
||||
|
||||
char sysinfo[128] = {0};
|
||||
sprintf(sysinfo, "%-13s%-13s%-13s%-13s ", std::to_string(c).substr(0, 4).c_str(), CpuSys.c_str(), CpuUse.c_str(), Emmcinfo.c_str());
|
||||
return std::string(sysinfo);
|
||||
}
|
||||
|
||||
int SetTime(unsigned long seconds, int milliseconds) {
|
||||
struct timeval tv;
|
||||
time_t timep = (time_t)seconds;
|
||||
@ -1088,7 +1014,7 @@ std::string GetFileContent(std::string filename, int line) {
|
||||
return strFileContent;
|
||||
}
|
||||
|
||||
// BOOST闂傚倷鑳堕崕鐢稿磻閹捐绀夌€广儱顦介弫鍡樼節婵犲倻澧曠紒鈧崱妯肩闁糕剝锚缁旈箖鏌嶈閸撴瑩宕姘肩劷闊洦绋戠粻姘辨喐韫囨洘鍏滈柍褜鍓氭穱濠囧Χ閸ヮ灝銏ゆ煟椤撴繄绐旈柟顖欑劍缁诲懘鎯囬弴銏♀拺闂傚牃鏅犲顔界節閵忊埗顏堚€﹂崶顒€绀冩い鏃囧琚濋梻浣稿閸嬪棝宕伴幘璇参ラ柨鐕傛嫹
|
||||
// BOOST<EFBFBD><EFBFBD><EFBFBD><EFBFBD>琿㭠<EFBFBD>訫<EFBFBD><EFBFBD>Y?輻˙<E8BCBB>寞<EFBFBD><E5AF9E>抒<EFBFBD>憭𢞖<E686AD>撟踹<E6929F>憿虫<E686BF>撘?<3F>⊥?潛<>憍萇𤗈<E89087>餅儒<E9A485>删<EFBFBD><E588A0>抆<EFBFBD>撏勗旬<E58B97>拆<EFBFBD><E68B86><EFBFBD><EFBFBD><EFBFBD>嗪<EFBFBD>蝻<EFBFBD><E89DBB>蝞㚚<E89D9E>撊<EFBFBD><E6928A><EFBFBD>豢𣖕<E8B1A2>拙<EFBFBD><E68B99>䳡<EFBFBD>憪䁅<E686AA><E48185>琿<EFBFBD><E790BF>X揭蝏𧢲<E89D8F>蝎餃?䁅儘<E48185>鞾駚<E99EBE>冽<EFBFBD><E586BD>𤩺<EFBFBD><F0A4A9BA>滩?𣈯<>瘞?蝛望<E89D9B><E69C9B>?峓<>詻<EFBFBD><E8A9BB>嗪<EFBFBD><E597AA><EFBFBD><EFBFBD>璊斗𣖕蝜<F0A39695><E89D9C><EFBFBD><EFBFBD><EFBFBD>憿𡝗<E686BF><F0A19D97>滨<EFBFBD>霂脫<E99C82><E884AB>?<3F>?撘湧<E69298><E6B9A7><EFBFBD><EFBFBD>粹<EFBFBD><E7B2B9>𡁶<EFBFBD><F0A181B6><EFBFBD>𤗈<EFBFBD>𢠃?𠉛<>蝭<EFBFBD><E89DAD>萄<EFBFBD><E89084>烾?誩<><E8AAA9>?儮<>普憿圝<E686BF>蝏<EFBFBD><E89D8F>押<EFBFBD><E68ABC><EFBFBD>𧗾<EFBFBD>滨<EFBFBD>瞈𧢲Ⅲ瘚<E285A2>?遴<><E981B4>詨??璉嘥<E79289>隡游<E99AA1><E6B8B8><EFBFBD><EFBFBD><EFBFBD>拇傦<E68B87>訫<EFBFBD>憳?
|
||||
bool CheckIP(const char *ip) {
|
||||
boost::xpressive::cregex reg_ip =
|
||||
boost::xpressive::cregex::compile("(25[0-4]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[1-9])[.](25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])[.](25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])[.](25[0-4]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[1-9])");
|
||||
@ -1098,44 +1024,26 @@ bool CheckIP(const char *ip) {
|
||||
bool IsValidMask(std::string mask) {
|
||||
int iRet = -1;
|
||||
|
||||
// 闂備浇顕х换鎰崲閹版澘绠查柛鎴︿憾濮婃椽妫冮埡鍛€嶅┑鐘灪閿氭い顓炴喘瀹曟﹢顢欓挊澶夌紦闂備胶鎳撻崥鈧悹浣圭叀瀹曟垿骞橀弬銉ョ墯闂佸憡渚楅崢娲礌閺嶎厽鈷戦柛娑橈工缁楁帗淇婇锝庢當闁伙絿鍏樺畷鐔碱敆娴i攱鍞夋繝鐢靛仦閸ㄥ爼鏁嬮梺缁樻尰閸ㄥ潡寮诲澶娢ㄩ柨鏂垮⒔閻f儳鈹戦悙瀛樼稇婵☆偅绻堥悰顕€骞嬮敃鈧~鍛存煃閵夈儳锛嶅ù婊愭嫹 闂傚倷鑳堕崑銊╁磿閼碱剙鍨濋柛顐犲灱婵娊鏌嶉崫鍕偓瑙勭閵堝棛绠鹃柟瀵镐紳椤忓牊鍋傞柟杈鹃檮閻撴稑霉閿濆懏鎲搁柟鐣屽█閺岋繝宕卞▎蹇旂亪闂佹悶鍔戠粻鏍极閹剧粯鏅搁柨鐕傛嫹
|
||||
// <EFBFBD><EFBFBD><EFBFBD>瘚<EFBFBD>?䢛<>揢<EFBFBD>堊<EFBFBD>撏脤䲮<E884A4><E4B2AE><EFBFBD>蝏䭾䰻<E4ADBE>偦縝儭踵<E584AD>瞈?憍<>公憒?<3F>?<3F>⊿<EFBFBD><E28ABF><EFBFBD><EFBFBD>撊<EFBFBD><E6928A><EFBFBD>瞾<EFBFBD><E79EBE>?<3F>踵鬼<E8B8B5><E9ACBC>?梶<><E6A2B6>条<EFBFBD>寞<EFBFBD>儮a﹜甈𤘪<E79488>瞉嗅?𣬚揭<F0A3AC9A><E68FAD><EFBFBD><EFBFBD>園𨍭<E59C92>餃揖<E9A483>抆<EFBFBD><E68A86>寞童<E5AF9E>?<3F><><EFBFBD>寞<EFBFBD><E5AF9E>輸<EFBFBD>璈<EFBFBD>撘?<3F>剹<EFBFBD>憓?<3F><>螂<EFBFBD>⊥<EFBFBD>璆<EFBFBD>揣憡船<E686A1>蝷屸𤄄撊𤾸罁<F0A4BEB8>瑟ề<E7919F>𥕦<EFBFBD>璈<EFBFBD>極蝻<E6A5B5>?<3F><>瘛<EFBFBD><E7989B><EFBFBD>閖<EFBFBD>摨Y訜<EFBCB9><E8A89C><EFBFBD>蝯輸<E89DAF>璅箇𩑈<E7AE87>𠉛2<F0A0899B><EFBC92>迄嚚㗇眏<E39787>𧼮?讠<><E8AEA0>a<EFBFBD>隞阡鴡<E998A1>亦<EFBFBD><E4BAA6><EFBFBD>??璇箇<E79287>璅餃偽<E9A483>詻<EFBFBD>瞏∪??霂船<E99C82>瞉嗅芍<E59785>拇傦<E68B87><E582A6>𡆇<EFBFBD>娪鸘嚚<E9B898><E59A9A><EFBFBD>寞ề<E5AF9E>嗵<EFBFBD>𥟇?潛<>憍菊<E6868D><E88F8A><EFBFBD>遙<EFBFBD>交<EFBFBD>憿𨰝<E686BF>撉𧼮??<3F><>ê<EFBFBD><C3AA><EFBFBD><EFBFBD>𥕦<EFBFBD><F0A595A6><EFBFBD>鮟憭<E9AE9F><E686AD><EFBFBD>𥕦<EFBFBD>羅憍𦠜<E6868D>憳? <20><><EFBFBD><EFBFBD>琿㭠<E790BF>訫<EFBFBD><E8A8AB>𪙛<EFBFBD>蝤輸䲰蝣勗<E89DA3><E58B97>冽<EFBFBD><E586BD>偦?鞟𤗈<E99E9F>勗延<E58B97>賢<EFBFBD><E8B3A2><EFBFBD><EFBFBD>撏?<3F>𤩂<EFBFBD><F0A4A982>梶<EFBFBD><E6A2B6>?<3F>脤鮟<E884A4>脲?𤤿<>暽<EFBFBD><E69ABD><EFBFBD>菟<EFBFBD>蝝單中敹梶<E695B9><E6A2B6>见<EFBFBD><E8A781><EFBFBD><EFBFBD>暽<EFBFBD>??<3F>餅𣖕蝔煾<E89D94><E785BE>踵<EFBFBD><E8B8B5>誯緥<E8AAAF><E7B7A5><EFBFBD><EFBFBD><EFBFBD>掃<EFBFBD><E68E83>𤄄撗讠<E69297>摰訫<E691B0><E8A8AB>舘<EFBFBD><E88898><EFBFBD>漯<EFBFBD><E6BCAF>蝴<EFBFBD>園<EFBFBD><E59C92>删祥<E588A0>澾<EFBFBD><E6BEBE><EFBFBD>䲮<EFBFBD>抒盔<E68A92><E79B94><EFBFBD><EFBFBD>券<EFBFBD><E588B8>𥕦??
|
||||
struct in_addr s;
|
||||
iRet = inet_pton(AF_INET, mask.c_str(), &s);
|
||||
|
||||
// 闂備礁鎼ˇ閬嶅磿閹版澘绀堟慨姗嗗墰閺嗭箓鏌$仦璇插姎缂佺媴缍侀弻鐔兼焽閿曗偓婢ь喗銇勯銈呪枅鐎殿喖鐖奸崺锟犲磼濞戞艾寮虫繝鐢靛仩椤曟粓骞忛敓锟<EFBFBD>1闂傚倷鐒︾€笛呯矙閹达附鍎楀〒姘e亾妞ゃ垺宀搁崺锟犲川椤撶偛鎸ら梺鐟板悑閻n亪宕归搹鍦噮闂傚倷绀侀幖顐︽偋閸℃蛋鍥ㄥ閺夋垹鏌ч梺闈涱槴閺呮粓宕曞澶嬬厱闁规惌鍘介惁浠嬫⒒娓氣偓濞煎姊介崟顐唵婵☆垯璀﹂悞浠嬫煥閻曞倹瀚<EFBFBD>
|
||||
// <EFBFBD><EFBFBD><EFBFBD>蝷<EFBFBD>罀<EFBFBD>竹<EFBFBD>愇撊<EFBFBD>ˋ<EFBFBD>寧<EFBFBD>瞉条<EFBFBD><EFBFBD><EFBFBD><EFBFBD>憪堒<EFBFBD>憓圈𤄄<EFBFBD>?蝞㯄<E89D9E>嚗<EFBFBD>誚<EFBFBD><E8AA9A><EFBFBD>憪𡒊<E686AA>雿箏?渡<>靘<EFBFBD>撘駁<E69298><E9A781>潛<EFBFBD><E6BD9B>踵<EFBFBD><E8B8B5>枏?C<><EFBCA3><EFBFBD><EFBFBD>墙<EFBFBD>閖<EFBFBD><E99696>?<3F><><EFBFBD>畾踹<E795BE><E8B8B9>硋斥撏粹<E6928F><E7B2B9>脩ˉ瞈墧<E79E88><E5A2A7>曉??<3F>?蝜嗪錬<E597AA>𥕢貍璊斗<E7928A>蝎㯄<E89D8E>敹𥟇<E695B9><F0A59F87><EFBFBD>蕭1<E895AD><31><EFBFBD><EFBFBD>琿<EFBFBD>儭撾<E584AD>蝚𥕦麪<F0A595A6>䠷䲮颲暸<E9A2B2><E69AB8>擧?<3F><>鍦?矋<>鈭曉?𠺶<><F0A0BAB6>箏<EFBFBD><E7AE8F><EFBFBD>景<EFBFBD>毺𤗈撌脲中<E884B2>嗅<EFBFBD><E59785>詻<EFBFBD>璇粹<E79287><E7B2B9>踵<EFBFBD><E8B8B5>鳴<EFBFBD>鈭?摰訫<E691B0><E8A8AB>寥㩋<E5AFA5>笔芦<E7AC94><E88AA6><EFBFBD><EFBFBD>瑞<EFBFBD>靘<EFBFBD>撟㚚?琜蜇<E7909C>钅鴡<E99285><E9B4A1><EFBFBD><EFBFBD>乓<EFBFBD><E4B993>梢𤄄憭见㧜<E8A781>𧄍<EFBFBD>Ⅱ<EFBFBD><E285A1>雇瑽湧𤄄<E6B9A7>?蝎枏<E89D8E><E69E8F>䳡<EFBFBD>瞉嗅??<3F>梢<EFBFBD>閫<EFBFBD><E996AB><EFBFBD>䀝<EFBFBD><E4809D><EFBFBD><EFBFBD>戭?<3F>鍦<EFBFBD>瘞<EFBFBD><E7989E>瞈䂿<E79E88><E482BF>瑕?𠹺<>撏罸?韮<><E99FAE>萄延<E89084><E5BBB6>熣<EFBFBD><E786A3>儮<EFBFBD><E584AE>瘚惩??<3F>仿鸘<E4BBBF>𧼮<EFBFBD>寧<EFBFBD>𡄯蕭
|
||||
if (iRet == 1) {
|
||||
// 婵犵數鍋涢顓熸叏閺夋嚚瑙勵槹鎼达絿顦繝銏f硾閻偐澹曢崗鑲╃瘈濠电姴鍊搁弳鐔兼煙閻e苯鏋涢柡灞诲€濆畷顐﹀礋椤愮喎浜鹃柛褎顨呰繚闁瑰吋鐣崹娲磿閻旇偐鍙撻柛銉e妿椤h尙绱掓笟鍥ф珝闁哄瞼鍠撻幏鐘诲焺閸愵亞鐛㈤梺鑽ゅУ閸旀宕伴幇顔剧煓濠㈣泛鐬肩壕鍏间繆椤栨繂鍚归柣銊ヮ煼閺岋絾鎯旈姀鈶╁濡炪們鍔岄ˇ鐗堢┍婵犲浂鏁囬柣鏃傜節缁ㄥ姊洪崨濠勭畵閻庢凹鍠氶崰濠囨晸閿燂拷
|
||||
// 憍萇𠽌<EFBFBD>賊<EFBFBD>瘨f<EFBFBD>憿梶<EFBFBD><EFBFBD>誯𤄄憭见<EFBFBD><EFBFBD>坔䠀瑽寥罀颲曄翕憿佇<EFBFBD>蝜嗪<EFBFBD>嚚<EFBFBD>▽<EFBFBD>魂<EFBFBD><EFBFBD>鞉器<EFBFBD>W<EFBFBD><EFBFBD>聆<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>萄妥<EFBFBD>𦠜<EFBFBD>撘喲<EFBFBD><EFBFBD>潛<EFBFBD><EFBFBD>鳴<EFBFBD><EFBFBD>?<3F>𧢲閒<F0A7A2B2>∠<EFBFBD>霂聆<E99C82>瞈<EFBFBD>𩑈憿琜<E686BF>蝷𧢲中<F0A7A2B2>?<3F>擧<EFBFBD>暽<EFBFBD><E69ABD>銴𡡞”<F0A1A19E>啁<EFBFBD><E59581><EFBFBD>麯<EFBFBD>钅鍫<E99285><E98DAB>晶憡船<E686A1>蝤輸鸘<E8BCB8><E9B898><EFBFBD><EFBFBD>蹱凃<E8B9B1>偦<EFBFBD>嚚<EFBFBD>?踵中嚚<E4B8AD><E59A9A>蝏望<E89D8F>蝚罸摚<E7BDB8><E6919A>嗪<EFBFBD><E597AA><EFBFBD>𤘘<EFBFBD>䭾凃撟誯<E6929F>霂脩<E99C82><E884A9>豢<EFBFBD>鈭鮋<E988AD><E9AE8B>斗Ⅱ<E69697>賬<EFBFBD>苺<EFBFBD>豢<EFBFBD><E8B1A2>𠰴<EFBFBD>隡游<E99AA1>憿𥪜<E686BF><F0A5AA9C>𤘪<EFBFBD><F0A498AA><EFBFBD><EFBFBD><EFBFBD>?<3F>拙?閖<><E99696>渡<EFBFBD>璊斗礆蝜<E7A486><E89D9C>敶埝鰊<E59F9D>𨳍<EFBFBD><F0A8B38D>潮𤄄撗讠翔<E8AEA0>?<3F><>?<3F><>嗯<EFBFBD><E597AF>峕縑<E5B395>?<3F>煾<EFBFBD>撗<EFBFBD><E69297><EFBFBD><EFBFBD>T<EFBFBD>憍萇𤗈瘚<F0A49788><E7989A><EFBFBD>?<3F><><EFBFBD><EFBFBD>𦦵<EFBFBD>蝻<EFBFBD><E89DBB><EFBFBD>瑕?𦠜揪撏冽<E6928F><E586BD>?<3F>菟鸘摨W篅<EFBCB7>䭾偉撏唳<E6928F><E594B3>冽烵<E586BD>輻<EFBFBD><E8BCBB>?
|
||||
unsigned int addr = ntohl(s.s_addr);
|
||||
|
||||
// 闂備礁鎼ˇ閬嶅磿閹版澘绀堟慨姗嗗墰閺嗭箓鏌涘▎蹇fШ闁崇粯妫冨鍫曟倷閺夋埈妫嗛梺璋庡啰鐒哥€殿喖鐖奸崺锟犲磼濠х偓顫嶉梻浣虹《閺呮粓銆冮崼銉ョ劦妞ゆ帊鑳堕埊鏇熴亜閵娿儳澧︽い銏$墬閹峰懘宕烽娑欑亙闂備浇娉曢崳锕傚箯閿燂拷
|
||||
// <EFBFBD><EFBFBD><EFBFBD>蝷<EFBFBD>罀<EFBFBD>竹<EFBFBD>愇撊<EFBFBD>ˋ<EFBFBD>寧<EFBFBD>瞉条<EFBFBD><EFBFBD><EFBFBD><EFBFBD>憪堒<EFBFBD>憓圈𤄄<EFBFBD>?蝞㯄<E89D9E>瘨覀<E798A8>頩<EFBFBD><E9A0A9>虼<EFBFBD><E899BC><EFBFBD>蝎?憒?<3F>?<3F><>㪗<EFBFBD>笔<EFBFBD>琿𤄄憭见<E686AD>憒?<3F>𥟇Ⅱ<F0A59F87>见滿<E8A781>圈<EFBFBD><E59C88>乒<EFBFBD>畾踹<E795BE><E8B8B9>硋斥撏粹<E6928F><E7B2B9>脩ˉ瞈榲<E79E88><E6A6B2>憿?撊㗇Ⅲ瘚<E285A2>葤<EFBFBD>𢠃𤄄<F0A2A083>?蝎㯄<E89D8E><E3AF84>?撏潮<E6928F><E6BDAE>批𠱃憒𠺶<E68692>撣𢠃㭠<F0A2A083>訫<EFBFBD><E8A8AB><EFBFBD><EFBFBD>鈭𣈯鮟憡踹<E686A1>瞉改蜇<E694B9><E89C87><EFBFBD>嚗<EFBFBD>??<3F>孵陸<E5ADB5>睃<EFBFBD><E79D83>踐<EFBFBD>憡烐<E686A1>鈭䠷<E988AD><E4A0B7>蹱<EFBFBD>憡㗇𣪧撏喲<E6928F><E596B2>𡁶??<3F>輻<EFBFBD><E8BCBB>?
|
||||
std::bitset<32> b((int)addr);
|
||||
std::string strMask = b.to_string();
|
||||
|
||||
// 闂傚倷绀侀幖顐ゆ偖椤愶箑纾块柛娆忣槺閻濊埖淇婇婵嗗惞妞も晞灏欓埀顒€鍘滈崑鎾绘煕閹板吀绨芥い鏃€甯″娲川婵犲倻顑勫┑鐐差槹閻╊垶骞冩ウ娆炬Ь缂備緡鍣崣鍐极閸岀偞鍤勬い鏍电稻閼哥懓鈹戦悙鏉戠仸闁瑰皷鏅犲畷銏ゅ箚瑜夐弸鏃堟煥閻曞倹瀚<EFBFBD>"01"闂傚倷鐒︾€笛呯矙閹达附鍤愭い鏍亼閳ь剙鎳撻ˇ鍦偓娈垮枤鏋顏冨嵆閸┾偓妞ゆ帒鍊荤粻鏂款熆鐠哄搫顦柛瀣尭閳藉鈻嶉褌绨婚柨鏇樺灲椤㈡棃宕奸悢鍛婄彨闁诲骸鍘滈崑鎾绘煕閹邦厼鍔ゆ繛鍫灦濮婃椽宕崟顐患闁诲孩绋堥弲娑樺祫闂佸綊妫跨粈浣衡偓姘槸椤法鎹勬笟顖氬壉濠电偛鎳庣换姗€寮婚敐澶娢╅柕澶堝労娴犲ジ姊洪悜鈺佸⒉闁荤啙鍛潟闁哄啫鐗嗙粻锝夋煟閹邦垰钄肩紒鈧€n喗鈷戞繛鑼额嚙濞呮瑩鏌熼崙銈嗗
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>瑞<EFBFBD>靘<EFBFBD>撟㚚?僐<><E58390>𡝗中<F0A19D97>嗥<EFBFBD>蝥曉<E89DA5><E69B89>𥕦<EFBFBD>敹<EFBFBD>宋<EFBFBD>餅<EFBFBD><E9A485>𡝗<EFBFBD>憍<EFBFBD><E6868D>憍萄<E6868D><E89084>𧼮?𠺶<><F0A0BAB6>䂿<EFBFBD>甈枏<E79488>憿圝<E686BF><E59C9D>䀹<EFBFBD>撏煾罇蝏条<E89D8F><E69DA1>寞踎<E5AF9E><E8B88E>蝏刻𥁒<E588BB><F0A58192><EFBFBD><EFBFBD>?<3F>?<3F>啾<EFBFBD>憡船<E686A1>撌嘥延<E598A5>脣<EFBFBD>駁?穃𤧚<E7A983>煾<EFBFBD>撌?瑽寥鸘<E5AFA5>𠰴沲撉𧼮<E69289><F0A7BCAE>血<EFBFBD><E8A180>?衧蝻<E8A1A7><E89DBB>蝺⊿揻<E28ABF><E68FBB>撏<EFBFBD><E6928F><EFBFBD>潭<EFBFBD><E6BDAD>詨<EFBFBD><E8A9A8>鮋搇<E9AE8B>?<3F><><EFBFBD><EFBFBD>萇酉<E89087>澆𢬢<E6BE86>㯄<EFBFBD><E3AF84>行<EFBFBD><E8A18C>㗇<EFBFBD>隞賊<E99A9E><E8B38A>啁椚<E59581><E6A49A>𤗈<EFBFBD>琿<EFBFBD><E790BF><EFBFBD><EFBFBD><EFBFBD>𨅯?𣂼撓<F0A382BC><E69293><EFBFBD><EFBFBD>仿鸘<E4BBBF>𧼮<EFBFBD>寧<EFBFBD>𡄯蕭"01"<22><><EFBFBD><EFBFBD>琿<EFBFBD>儭撾<E584AD>蝚𥕦麪<F0A595A6>䠷䲮颲暸<E9A2B2><E69AB8>斗<EFBFBD><E69697><EFBFBD><EFBFBD><EFBFBD>?鈭潮鯏<E6BDAE><E9AF8F>䠷𨍭<E4A0B7>銖<EFBFBD>㩋<EFBFBD>𥕦<EFBFBD>憡<EFBFBD>𡆇<EFBFBD>日<EFBFBD><E697A5><EFBFBD><EFBFBD>憿誩<E686BF>撋<EFBFBD>鴡<EFBFBD>曉<EFBFBD>憒𠺶<E68692>撣㘾<E692A3><E398BE>斤祥<E696A4><E7A5A5>?曄<><E69B84>惩<EFBFBD><E683A9>?憿佇<E686BF><E4BD87>𤤿<EFBFBD><F0A4A4BF><EFBFBD>撠?<3F>唾<EFBFBD><E594BE>?<3F>餃<EFBFBD><E9A483>䁅?𣬚豪憍𡁏傦<F0A1818F><E582A6>那<EFBFBD>脫中<E884AB>⊥?<3F><>憟豢<E6869F><E8B1A2>𥕦<EFBFBD>敶券<E695B6>霂脤?賊<>皛<EFBFBD><E79A9B><EFBFBD>曄<EFBFBD><E69B84>閖䲮<E99696>血罀<E8A180>𢛵<EFBFBD>蝜偦㪗<E581A6>Y<EFBFBD>瞈?憍<>公摰𤩂<E691B0>撏罸?韮<><E99FAE><EFBFBD><EFBFBD>霂脣?拍<><E68B8D>亙撞憡烐那蟡?<3F><>螂蝬𠰴托頝函<E9A09D>瘚<EFBFBD>﹛<EFBFBD>枏?瞾<>瑽豢中<E8B1A2>⊥<EFBFBD><E28AA5>孵𡠺蝚罸?𡝗鬲憯㗇<E686AF><E39787>萄<EFBFBD><E89084>喳漆<E596B3>W?轁<>撖?憍𡁏<E6868D>瞉嗅芍<E59785><E88A8D><EFBFBD>瞉嗅<E79E89><E59785>游迄<E6B8B8>脯<EFBFBD>憪𦠜揪<F0A6A09C>𣈯<EFBFBD>雿詹<E99BBF><E8A9B9><EFBFBD>搇<EFBFBD>䠷<EFBFBD><E4A0B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?<3F>堒<EFBFBD>蝎駁<E89D8E>憭讠<E686AD><E8AEA0>寥<EFBFBD><E5AFA5>圈<EFBFBD><E59C88>拍<EFBFBD><E68B8D>抆<EFBFBD><E68A86>?嚚𤾸<E59A9A><F0A4BEB8>瑟<EFBFBD>蝜偦鐤憸嘥<E686B8>瞈𧼮䴴<F0A7BCAE>拚<EFBFBD><E68B9A>澆<EFBFBD><E6BE86><EFBFBD><EFBFBD><EFBFBD>?
|
||||
return (strMask.find("01") == std::string::npos);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
double GetHardDiskFree() {
|
||||
char hardName[32];
|
||||
char hardTotal[32];
|
||||
char hardUse[32];
|
||||
char hardFree[32];
|
||||
char rateHardUse[32];
|
||||
const char *getEmmcInfo = "df -h | grep /opt";
|
||||
char chRes[100];
|
||||
memset(chRes, 0, 100);
|
||||
system_custom(getEmmcInfo, chRes);
|
||||
sscanf(chRes, "%s%s%s%s%s", hardName, hardTotal, hardUse, hardFree, rateHardUse);
|
||||
std::string strhardTotal(hardTotal);
|
||||
std::string strhardFree(hardFree);
|
||||
std::string strrateHardUse(rateHardUse);
|
||||
double freeDisk = atof(strhardFree.substr(0, strhardFree.length() - 1).c_str());
|
||||
return freeDisk;
|
||||
}
|
||||
|
||||
int getSysIntValue(char *key) {
|
||||
if (key == NULL) {
|
||||
zlog_error(zct, "key is NULL");
|
||||
@ -1240,24 +1148,24 @@ std::string GetSysStatus() {
|
||||
return strJson;
|
||||
}
|
||||
|
||||
// 闂備浇顕х换鎰崲閹邦儵娑樜旈埀顒勬偩閻戣姤鍋勯柛婵勫劗閺嬫牠姊虹捄銊ユ珢闁瑰嚖鎷<EFBFBD>16闂備礁鎼ˇ顐﹀疾濠婂懐鐭欓柟杈剧畱閺勩儲淇婇妶鍛殜闁稿鎸搁埥澶娾枎濡崵鏆俊鐐€栭崹鎶芥倿閿曗偓椤洭顢旈崼顐f櫌婵炶揪绲挎灙缂併劊鍎茬换娑㈠箣閻愭潙纰嶉梺鍦拡閸嬪﹪銆佸棰濇晩闁兼亽鍎遍崝鍛存⒑閸濆嫬鏆欓柛濠傜秺閹箖鏌嗗鍡椻偓鍨箾閹寸偟鎳愭繛鍫熺懃閳规垿鍩ラ崱妤€绫嶉悗瑙勬礃閸旀瑩寮幘缁樻櫢闁跨噦鎷<EFBFBD>
|
||||
// <EFBFBD><EFBFBD><EFBFBD>瘚<EFBFBD>?䢛<>揢<EFBFBD>堊<EFBFBD>撏脤䲮<E884A4>血<EFBFBD>憡烐?𨀣<><F0A880A3><EFBFBD>憿鍦𡠺<E98DA6>拚鸘<E68B9A><E9B898>坐<EFBFBD>见墙<E8A781>𥕦延<F0A595A6>?<3F>烾𤄄戭?<3F>惩?𡃏葤<F0A1838F><E891A4><EFBFBD><EFBFBD>衣𨘻<E8A1A3><F0A898BB>麯<EFBFBD>㚚繮嚙?16<31><36><EFBFBD>蝷<EFBFBD>罀<EFBFBD>竹<EFBFBD>?琜<><E7909C>暹<EFBFBD>憍<EFBFBD><E6868D><EFBFBD>?甈𤘪<E79488><F0A498AA><EFBFBD><EFBFBD><EFBFBD>梢𤄄<E6A2A2>拙<EFBFBD>瘛<EFBFBD><E7989B>憒園<E68692><E59C92><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?遴<><E981B4>豢<EFBFBD><E8B1A2>交噤憡暹<E686A1>瞈∵<E79E88>撏菟<E6928F><E88F9F>煺<EFBFBD><E785BA>韮<EFBFBD><E99FAE>?<3F>?撏寥𦅚<E5AFA5>亙<EFBFBD>輸𪃭<E8BCB8>堒<EFBFBD>璊止<E7928A>瘣?憿X<E686BF>撏潮?琜<>瑹<EFBFBD>延<EFBFBD>嗆蘨蝏脫<E89D8F><E884AB>嗵<EFBFBD>雿萄<E99BBF><E89084>舘嬕<E88898>W<EFBFBD><EFBCB7>删?<3F>鸘<EFBFBD>?瞏嗵滌撊㗇Ⅱ<E39787>佇<EFBFBD><E4BD87>⊿鴡戭?儮?<3F><>螂<EFBFBD>脲ㄟ瞈<E3849F>埯<EFBFBD><E59FAF><EFBFBD>鈭賡<E988AD><E8B3A1>滚<EFBFBD><E6BB9A>𥕦<EFBFBD><F0A595A6>煾鴡瞈<E9B4A1>??<3F><><EFBFBD><EFBFBD>𥟇<EFBFBD><F0A59F87>𦦵宋<F0A6A6B5>察<EFBFBD>蝞㚚<E89D9E><E39A9A>𢎽<EFBFBD><F0A28EBD>⊥六<E28AA5>㯄崕<E3AF84>斤?暸䲮撖詨<E69296><E8A9A8>單<EFBFBD>蝜偦㪗<E581A6>箸<EFBFBD><E7AEB8>唾?<3F>舭<EFBFBD>押<EFBFBD>撏勗忖<E58B97>?蝏?撊㗇<E6928A><E39787>坔𡠺蝷<F0A1A0BA>鴡<EFBFBD><E9B4A1><EFBFBD>拙??<3F>血<EFBFBD>蝻<EFBFBD>酉瑹a<E791B9>頝典膓<E585B8>瘀蕭
|
||||
unsigned char hexCharToByte(char c) {
|
||||
if (c >= '0' && c <= '9') return c - '0';
|
||||
if (c >= 'A' && c <= 'F') return c - 'A' + 10;
|
||||
if (c >= 'a' && c <= 'f') return c - 'a' + 10;
|
||||
return 0; // 闂備浇顕уù鐑藉极婵犳艾鐒垫い鎺嶈兌閵嗘帡鏌よぐ鎺旂暫闁哄矉绻濆畷姗€顢旈崟鎴秮閺岋繝宕ㄩ銏犲Е闂佽鍨伴崯鏉戠暦閻旂⒈鏁冮柕鍫濇閸犳洜绱撻崒娆戝妽妞ゃ劍鍔楅幏瀣晲閸ヮ煈娼熷┑鐘绘涧濞诧附绂嶉妶澶嬬厸闁稿本绋戦婊呯磼閳ь剟鍩€閿燂拷0
|
||||
return 0; // <EFBFBD><EFBFBD><EFBFBD>瘚<EFBFBD>?䢛<>寥<EFBFBD><E5AFA5>㗇<EFBFBD>憍萇𠓼<E89087>暸<EFBFBD><E69AB8>?<3F><>鑬撊<E991AC><E6928A><EFBFBD>萄<EFBFBD>撣⊿<E692A3><E28ABF><EFBFBD><EFBFBD><EFBFBD>箸<EFBFBD><E7AEB8>?<3F><><EFBFBD><EFBFBD>厩遙瞈<E98199>𩑈憪轁<E686AA>憿X<E686BF>撏罸縝<E7BDB8>𦦵妙<F0A6A6B5>箏<EFBFBD>蝜嘥<E89D9C><E598A5>拆<EFBFBD><E68B86>讐𤗈<E8AE90><F0A49788><EFBFBD>蝸<EFBFBD>㚚崕隡游敞<E6B8B8>㗇<EFBFBD><E39787>阡鸘<E998A1><E9B898><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>閖㪗瞈<E3AA97><E79E88><EFBFBD>貊𠓼瘣𦦵跼<F0A6A6B5>餃<EFBFBD>憡<EFBFBD><E686A1>憒賢?𠺶<><F0A0BAB6>漤<EFBFBD>璆<EFBFBD><E79286><EFBFBD><EFBFBD><EFBFBD><EFBFBD>脤鴡<E884A4>?<3F><>?潛<><E6BD9B>煾<EFBFBD>蝏䀹陽瞈噼?折<>蝏<EFBFBD><E89D8F>憒嗆噤戭?<3F>賊<EFBFBD>蝔踵𧋦蝏𧢲ề<F0A7A2B2>𡁜?𠰴麪蝤潮鯏<E6BDAE><E9AF8F>罸嘡<E7BDB8>?<3F>輻<EFBFBD><E8BCBB>?0
|
||||
}
|
||||
|
||||
// 闂備浇顕х换鎰殽韫囨稑绠柨鐕傛嫹16闂備礁鎼ˇ顐﹀疾濠婂懐鐭欓柟杈剧畱閺勩儲淇婇妶鍛殜闁稿鎸搁埥澶娾枎濡崵鏆俊鐐€栭崹鎶芥倿閿斿墽鐭欏鑸靛姈閸ゆ垿鏌ら崫銉︽毄闁靛牜鍣e铏规兜閸滀礁娈愬┑鐘噰閸嬫捇鏌i悩鍐插闁哥姵鎹囬崺鈧い鎺嶈兌閳洘銇勯妸銉Ч濞e洤锕、姗€濮€閻樺磭鈧剟姊虹憴鍕靛晱闁哥姵宀搁幆宀勬晸閿燂拷
|
||||
// <EFBFBD><EFBFBD><EFBFBD>瘚<EFBFBD>?䢛<>揢<EFBFBD>堊<EFBFBD>畾賡駚<E8B3A1>函<EFBFBD>蝏𡋾<E89D8F><F0A18BBE>券<EFBFBD><E588B8>𥕦??16<31><36><EFBFBD>蝷<EFBFBD>罀<EFBFBD>竹<EFBFBD>?琜<><E7909C>暹<EFBFBD>憍<EFBFBD><E6868D><EFBFBD>?甈𤘪<E79488><F0A498AA><EFBFBD><EFBFBD><EFBFBD>梢𤄄<E6A2A2>拙<EFBFBD>瘛<EFBFBD><E7989B>憒園<E68692><E59C92><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?遴<><E981B4>豢<EFBFBD><E8B1A2>交噤憡暹<E686A1>瞈∵<E79E88>撏菟<E6928F><E88F9F>煺<EFBFBD><E785BA>韮<EFBFBD><E99FAE>?<3F>?撏寥𦅚<E5AFA5>亙<EFBFBD>輸𪃭<E8BCB8>踹Ⅴ<E8B8B9>?甈𧵔𣳽<F0A7B594>賊<EFBFBD>憪<EFBFBD>鴡<EFBFBD><E9B4A1>舭<EFBFBD>䎚<EFBFBD>撏?<3F>㚁蜇瘥<E89C87><E798A5><EFBFBD>𤤿<EFBFBD><F0A4A4BF><EFBFBD><EFBFBD><EFBFBD>誯<EFBFBD>閫<EFBFBD><E996AB><EFBFBD>豢<EFBFBD>蝷<EFBFBD><E89DB7><EFBFBD>?<3F>煾<EFBFBD><E785BE><EFBFBD>苊<EFBFBD>詨??<3F><><EFBFBD>嚚㗇<E59A9A><E39787>鞉<EFBFBD><E99E89>𡡞<EFBFBD><F0A1A19E>亙孝<E4BA99>孵𨪚撏粹ê<E7B2B9><C3AA><EFBFBD><EFBFBD>箏<EFBFBD><E7AE8F>屸鯏<E5B1B8>𥟇<EFBFBD><F0A59F87><EFBFBD>墙憒賊<E68692><E8B38A>請扳<E8AB8B>嚚<EFBFBD>握<EFBFBD>𤩂<EFBFBD><F0A4A982><EFBFBD>?轁<>瞈?<3F>?<3F>餅那蝤?<3F>抆<EFBFBD><E68A86>笔?𡃏葤<F0A1838F>湧<EFBFBD><E6B9A7>𥟇苘<F0A59F87><E88B98>𢬢憪萄<E686AA><E89084><EFBFBD><EFBFBD>摰<EFBFBD><E691B0>?<3F>賊𪃭<E8B38A><F0AA83AD>鼧
|
||||
int hexStringToBytes(const char *hexStr, unsigned char *bytes, size_t bytesSize) {
|
||||
size_t hexLen = strlen(hexStr);
|
||||
if (hexLen % 2 != 0) {
|
||||
zlog_error(zct, "hexLen:%d is odd", hexLen);
|
||||
return -1; // Hex闂備浇顕х€涒晝绮欓幒妞尖偓鍐醇閵夘喗鏅炴繛杈剧到濠€閬嶅煝閺冨牊鐓涢悘鐐额嚙閸旀粍鎱ㄩ敐鍡楀妤犵偞鐗楀蹇涘礈瑜忛弳鐘电磽娴i潧濮€閻忓繑鐟╅獮蹇涙偐鐠囧弬銊╂煥閺傚灝寤洪柨鏇炲€归悡鏇㈡倵閿濆骸骞栭柣鎾村姍閺岋繝宕遍鐔奉伓
|
||||
return -1; // Hex<EFBFBD><EFBFBD><EFBFBD>瘚<EFBFBD>?䢛<><E4A29B>瘨埝<E798A8>蝏?甈枏<E79488>憒𧼮<E68692><F0A7BCAE>㯄<EFBFBD><E3AF84>潮<EFBFBD><E6BDAE>萄?睃<><E79D83><EFBFBD><EFBFBD>蝜𥟇<E89D9C><F0A59F87>批<EFBFBD>瞈罱<E79E88><E7BDB1>?撊<><E6928A><EFBFBD>箏<EFBFBD><E7AE8F>𢠃<EFBFBD>瘨X<E798A8><EFBCB8>鞾?嘥<><E598A5>豢<EFBFBD>蝎漤𡟹<E6BCA4>拇<EFBFBD><E68B87>⊥?<3F><>鍦忖<E98DA6>萄<EFBFBD><E89084>埈?<3F><><EFBFBD><EFBFBD>瘨条?<3F><>敹𥕦撲<F0A595A6>条㩞蝤賢迄嚚㗇膚瞈?<3F>?<3F>餃<EFBFBD>蝜煾<E89D9C><E785BE><EFBFBD>旿頩<E697BF><E9A0A9><EFBFBD>鞾<EFBFBD><E99EBE>批憔<E689B9>𪙛<EFBFBD><F0AA999B>仿𤄄<E4BBBF>𡁶<EFBFBD>撖斗揪<E69697>券<EFBFBD><E588B8>聆<EFBFBD>敶埝<E695B6><E59F9D><EFBFBD>ǜ<EFBFBD>菟𪃭瞈<F0AA83AD>?賊<><E8B38A>?<3F><>罇<EFBFBD>穃?漤𤄄撗讠<E69297>摰閖<E691B0><E99696>㗛<EFBFBD>憟劐<E6869F>
|
||||
}
|
||||
if (bytesSize < hexLen / 2) {
|
||||
zlog_error(zct, "bytesSize:%d < hexLen:%d", bytesSize, hexLen);
|
||||
return -1; // 闂備浇顕х€涒晝绮欓幒妞尖偓鍐╁緞鐎b晝绠氬銈嗘尪閸ㄥ綊寮告笟鈧弻鐔封枔閸喗鐏撻梺娲诲幖椤戝寮婚敐澶娢╅柕澶堝労娴犲ジ姊洪棃娑欐悙婵炲眰鍔嶇粋宥咁潰瀹€鈧悿鈧柟鑹版彧缁插潡骞夎ぐ鎺撶厽闁斥晛鍟粭鎺楁煕濡崵澧紒鍌氱Ч楠炴帡寮崫鍕闂佽崵鍠撴晶妤冩嫻閿熺姵鐓欓柟顖嗗啯鍊┑鐐碘拡娴滎亪銆佸Δ浣瑰缂佸娉曢崫搴ㄦ⒒娴e憡鍟為柤瑙勫劤闇夌€瑰嫭澹嬮弸鏃堟煙鐎电ǹ袥闁稿鎸搁埥澶娾枎濡崵鏆┑鐘殿暯濡插嫰骞忛敓锟<EFBFBD>
|
||||
return -1; // <EFBFBD><EFBFBD><EFBFBD>瘚<EFBFBD>?䢛<><E4A29B>瘨埝<E798A8>蝏?甈枏<E79488>憒𧼮<E68692><F0A7BCAE>㯄<EFBFBD><E3AF84><EFBFBD><EFBFBD><EFBFBD>𠬍<EFBFBD><F0A0AC8D>萘<EFBFBD>瘞?<3F><><EFBFBD><EFBFBD>睃高<E79D83>詻<EFBFBD>蝬𠰴??<3F>羓<EFBFBD><E7BE93>抆<EFBFBD>撘駁<E69298>撠<EFBFBD><E692A0><EFBFBD>賃<EFBFBD><E8B383>烾<EFBFBD><E783BE>餅Ⅱ憡脰?脣<>璊斗<E7928A><E69697>萄??憍𡁏<E6868D>瞉嗅芍<E59785><E88A8D><EFBFBD>瞉嗅<E79E89><E59785>游迄<E6B8B8>脯<EFBFBD>憪𦠜揪璉<E68FAA><E79289>甈鞉<E79488>憍萇<E6868D><E89087>圈<EFBFBD>撊<EFBFBD><E6928A>摰亙<E691B0>瞏啁<E79E8F>嫖<EFBFBD><E5AB96>抆<EFBFBD><E68A86>輸ê<E8BCB8><C3AA><EFBFBD><EFBFBD>寧<EFBFBD>敶抒<E695B6><E68A92>埝翩撉𧼮?汿<><E6B1BF>箸𣺿<E7AEB8>賡<EFBFBD><E8B3A1>交<EFBFBD><E4BAA4>齓<EFBFBD>蝎?<3F>箸?<3F><>瞈∵<E79E88>撏菜儒<E88F9C><E58492><EFBFBD><EFBFBD>峕停虴璆删<E79286>撣∪??<3F><>換<EFBFBD>𤩂<EFBFBD><F0A4A982>𡁻<EFBFBD>雿賢斯<E8B3A2>䭾𣖕<E4ADBE>嗅忖<E59785>拙?駁𪃭<E9A781>箏孝<E7AE8F>𤘪<EFBFBD><F0A498AA>罸?硋<><E7A18B>?<3F>𠾍<EFBFBD><F0A0BE8D>煾<EFBFBD>蝣䀹𧚔憡湔<E686A1>鈭?<3F><>螂<EFBFBD>瘚<EFBFBD>麯<EFBFBD>梶<EFBFBD>雿賃<E99BBF>憡㗇𣪧撏?<3F>氬<EFBFBD><E6B0AC>鍦迄嚚<E8BF84><E59A9A><EFBFBD>毺<EFBFBD><E6AFBA>斤<EFBFBD><E696A4>?<3F>日<EFBFBD>憭𢞖<E686AD><F0A29E96>啣??瞉孵??撘賊<E69298><E8B38A>毺<EFBFBD><E6AFBA>𡒊㩞ソ鋡仿<E98BA1>蝔遴<E89D94><E981B4>豢<EFBFBD><E8B1A2>交噤憡暹<E686A1>瞈∵<E79E88>撏菟<E6928F><E88F9F>尠<EFBFBD><E5B0A0>䀹?踵黢瞈⊥<E79E88>憳圈<E686B3>敹𥟇<E695B9><F0A59F87><EFBFBD>蕭
|
||||
}
|
||||
|
||||
for (size_t i = 0; i < hexLen; i += 2) {
|
||||
@ -1283,13 +1191,13 @@ void hexToAscii(const char *hexStr, char *asciiStr) {
|
||||
int i, j = 0;
|
||||
|
||||
for (i = 0; i < len; i += 2) {
|
||||
// 闂備浇宕垫慨鏉懨洪埡鍜佹晪鐟滄垿濡甸幇鏉跨倞闁靛ě鈧弸鏍⒑闂堟稓澧曢悗姘嵆瀹曠數鈧綆鍠楅崐鍨箾閹寸偟鎳愭繛鍫熒戦妵鍕箣濠婂懐鐛㈤梺缁樹緱閸犳岸骞戦崟顖涙優閻熸瑥瀚烽崯鍫ユ⒒娴e懙鍦崲閹达箑纾块柣鎾崇瘍瑜版帒骞㈡繛鎴烆焽椤斿顪冮妶搴′航闁告瑢鍋撶紓浣插亾閻庯綆鍠楅悡娑樏归敐鍛喐闁圭晫濞€閺岋繝宕遍鐔奉伓
|
||||
// <EFBFBD><EFBFBD><EFBFBD>瘚<EFBFBD><EFBFBD><EFBFBD>?<3F>券<EFBFBD><E588B8>冽揪<E586BD>⊿<EFBFBD>雿寞臁<E5AF9E><E88781><EFBFBD><EFBFBD>踵縑<E8B8B5>詨<EFBFBD><E8A9A8>㕑楊<E39591>鮋<EFBFBD><E9AE8B>譞偦ê<E581A6><C3AA>撓<EFBFBD>澾<EFBFBD><E6BEBE>煾<EFBFBD><E785BE>毺<EFBFBD>瞉扳𣪧<E689B3>堒?瞾<>撋<EFBFBD><E6928B>寞<EFBFBD><E5AF9E>賊ê<E8B38A>羓<EFBFBD><E7BE93>䭾?<3F><><EFBFBD>?<3F>斤?暸䲮撖詨<E69296><E8A9A8>單<EFBFBD>蝜偦㪗<E581A6>埝ề憒菟<E68692><E88F9F>𡁶?<3F><>憍<EFBFBD><E6868D><EFBFBD>䜘ế璇箇<E79287>璅寧楛<E5AFA7>貊𠓼撗賊<E69297><E8B38A>血<EFBFBD>憿𡝗<E686BF><F0A19D97>?<3F>餌<EFBFBD><E9A48C>亦<EFBFBD>𡁶<EFBFBD>撏?<3F>?<3F>色<EFBFBD>憡湛<E686A1><E6B99B>䠷㩋<E4A0B7>笔散<E7AC94>寡噢蝞𤑳瑣<F0A491B3>埈鰊<E59F88>曉<EFBFBD><E69B89>滨<EFBFBD><E6BBA8><EFBFBD><EFBFBD>撉𠺶ǜ蝜偦縝<E581A6><E7B89D><EFBFBD>璊斗𪃭<E69697>?憿?<3F>?憒嗆鐦<E59786>脰⏛<E884B0><E28F9B><EFBFBD><EFBFBD>a<EFBFBD><EFBD81>嗥<EFBFBD>瘚<EFBFBD><E7989A>鈭暸鸘摨?蝬<><E89DAC>璆<EFBFBD><E79286>憡烐<E686A1>敶埝<E695B6><E59F9D>䝼<EFBFBD><E49DBC>鞾<EFBFBD><E99EBE>?<3F>?瞈嫰<E79E88><E5ABB0>箏<EFBFBD>蝜嘥<E89D9C><E598A5>澾<EFBFBD><E6BEBE>𥪜?劐<>
|
||||
int byte;
|
||||
sscanf(&hexStr[i], "%2x", &byte);
|
||||
// 闂備浇顕х换鎰崲閹邦儵娑樷枎閹捐櫕杈堥梺鎸庣箓椤︻垶寮告笟鈧弻鐔风暋閻楀牊鎷辩紓浣风贰閸o綁寮婚悢鐑樺珰闁斥晛鍟扮粣鏃堟煟閻樺啿濮夐柛鐘虫崌閸┾偓妞ゆ帒鍊归弳鈺呮煙閾忣偅灏甸柤娲憾瀵濡烽敃鈧崜顓㈡⒑閸涘﹤鐏﹂柍鐟伴拤II闂備浇顕х€涒晝绮欓幒妞尖偓鍐醇閵夘喗鏅為梺璺ㄥ櫐閹凤拷
|
||||
// <EFBFBD><EFBFBD><EFBFBD>瘚<EFBFBD>?䢛<>揢<EFBFBD>堊<EFBFBD>撏脤䲮<E884A4>血<EFBFBD>憡烐邢<E78390>𡡞䲮<F0A1A19E>鞉<EFBFBD><E99E89><EFBFBD><EFBFBD>璇粹纒摨<E7BA92><E691A8>璊歹蜓<E6ADB9>嗅??<3F>羓<EFBFBD><E7BE93>抆<EFBFBD>撘駁<E69298>憌擧<E6868C><E693A7>餅?<3F><>𢠃繮颲拍<E9A2B2>瘚<EFBFBD>?舘敦<E88898>賂<EFBFBD>蝬<EFBFBD>??憍𡁏<E6868D><F0A1818F>烐那<E78390>圈<EFBFBD><E59C88>交<EFBFBD><E4BAA4><EFBFBD>肼蝎<E882BC><E89D8E><EFBFBD>毺<EFBFBD><E6AFBA>餅那<E9A485>踵耨憭鞉<E686AD><E99E89>䁅臤撏屸鴡<E5B1B8>曉<EFBFBD>憒𠺶<E68692>撣㘾<E692A3>敶鍦撲<E98DA6>箏䴴<E7AE8F>䠷𪆴敹<F0AA86B4><E695B9><EFBFBD>讐璛<E8AE90>文迆<E69687><E8BF86><EFBFBD><EFBFBD>蛔<EFBFBD><E89B94>瑟縑<E7919F>賣<EFBFBD><E8B3A3>抆<EFBFBD>撏𣈯?瓐ǜ<E79390>煾鴡瘨矋馱<E79F8B>𧶏<EFBFBD><F0A7B68F>漤<EFBFBD>隡湔𠹻II<49><49><EFBFBD>瘚<EFBFBD>?䢛<><E4A29B>瘨埝<E798A8>蝏?甈枏<E79488>憒𧼮<E68692><F0A7BCAE>㯄<EFBFBD><E3AF84>潮<EFBFBD><E6BDAE>萄?睃<><E79D83><EFBFBD><EFBFBD>璇箇冨<E7AE87>交<EFBFBD><E4BAA4>孵龗<E5ADB5>?
|
||||
asciiStr[j++] = (char)byte;
|
||||
}
|
||||
// 濠电姷鏁搁崕鎴犵礊閳ь剚銇勯弴鍡楀閸欏繘鏌i幇顕呮毌闁稿鎸搁埥澶娾枎濡崵鏆俊鐐€栭崹鎶芥倿閿斿墽鐭欏鑸靛姈閸ゆ垶銇勯幒鎴濃偓鍦焊濠靛鈷戦柛婵嗗濡叉椽鏌涢悩铏磳妞ゃ垺鐗犻弫鎾绘晸閿燂拷
|
||||
// 瞈删㩞憪琿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>渡𠽌蝷𢠃鯏<EFBFBD><EFBFBD>𡁻<EFBFBD><EFBFBD>?撘湧㨃璆<E3A883><E79286>?<3F>豢<EFBFBD>蝜㗛<E89D9C>嚚匧<E59A9A>憿訫䴴瘥屸<E798A5>蝔遴<E89D94><E981B4>豢<EFBFBD><E8B1A2>交噤憡暹<E686A1>瞈∵<E79E88>撏菟<E6928F><E88F9F>煺<EFBFBD><E785BA>韮<EFBFBD><E99FAE>?<3F>?撏寥𦅚<E5AFA5>亙<EFBFBD>輸𪃭<E8BCB8>踹Ⅴ<E8B8B9>?甈𧵔𣳽<F0A7B594>賊<EFBFBD>憪<EFBFBD>鴡<EFBFBD><E9B4A1>沲<EFBFBD><E6B2B2>墙撟㘾縝瞈<E7B89D><E79E88><EFBFBD>佇<EFBFBD><E4BD87>𦠜<EFBFBD><F0A6A09C>䝼<EFBFBD><E49DBC>瑟ề<E7919F>𥕦延<F0A595A6>𢎽<EFBFBD>瞈∪<E79E88>璊賡<E7928A>瘨X<E798A8><EFBCB8>𧵔<EFBFBD>蝤喳?𠺶<><F0A0BAB6>粹<EFBFBD><E7B2B9>餃憤<E9A483>曄<EFBFBD><E69B84>賊𪃭<E8B38A><F0AA83AD>鼧
|
||||
asciiStr[j] = '\0';
|
||||
}
|
||||
|
||||
@ -1327,7 +1235,7 @@ void swap(char *data) {
|
||||
int OpenWatchDog() {
|
||||
int fd = -1;
|
||||
InitGpio(GlobalConfig::GPIO_G.hardWatchDog, 1);
|
||||
gpio_set(GlobalConfig::GPIO_G.hardWatchDog, 1); //婵犲痉鏉库偓鏇㈠磹瑜版巻鈧箓宕堕鈧弸渚€鏌熼梻纾嬪厡鐎规挷绶氶弻褑绠涢敐鍛凹缂備胶濮电敮锟犲蓟閳╁啰鐟瑰┑鐘插暙椤忥拷
|
||||
gpio_set(GlobalConfig::GPIO_G.hardWatchDog, 1); //憍萇𤗈<EFBFBD>厰<EFBFBD>摨枏<EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝤寧<EFBFBD><EFBFBD><EFBFBD>溶<EFBFBD>抆<EFBFBD>蝞枏<EFBFBD><EFBFBD>𤩂<EFBFBD><EFBFBD>抆<EFBFBD>撘豢<EFBFBD><EFBFBD>?<3F>𣬚<EFBFBD>璇餌瑣戭?<3F>⊿<EFBFBD>閫<EFBFBD>龩蝏嗆偉撘餉?𤑳<>瘨X<E798A8><EFBCB8>䝼<EFBFBD><E49DBC>寧<EFBFBD><E5AFA7>躰<EFBFBD>瞈?<3F>菜𨮜<E88F9C>毺𤗈<E6AFBA>罸鯏<E7BDB8><E9AF8F>㺭<EFBFBD>毺麯<E6AFBA>煾<EFBFBD><E785BE>埝<EFBFBD>璊文縞<E69687>?
|
||||
if (0 > (fd = open("/dev/watchdog", O_WRONLY))) {
|
||||
zlog_error(zbt, "fail to open /dev/watchdog");
|
||||
}
|
||||
@ -1388,7 +1296,7 @@ std::string GetOneContent(const char *szData, int nRow, const char *szSeparate)
|
||||
int set_opt(int fd, int nSpeed, int nBits, char nEvent, int nStop) {
|
||||
zlog_info(zbt, "[set_opt] speed:%d, bits:%d, event:%c, stop:%d", nSpeed, nBits, nEvent, nStop);
|
||||
struct termios newtio, oldtio;
|
||||
if (tcgetattr(fd, &oldtio) != 0) { //濠电姷顣藉Σ鍛村磻閳ь剟鏌涚€n偅灏扮紒缁樼洴瀵爼骞嬮鐐插闂佽崵鍠愬ú鏍涘┑鍡欐殾闁挎繂顦伴弲鏌ユ煕閳╁喚鐒洪柨鏇炲€归悡鏇熸叏濡搫鈷旈柣锝堜含閹叉悂鎮ч崼銏犲绩闂佽鍠曠划娆撳极閹剧粯鏅搁柨鐕傛嫹
|
||||
if (tcgetattr(fd, &oldtio) != 0) { //瞈删㩞憪琿﹝<EFBFBD>两<EFBFBD><EFBFBD><EFBFBD>𤑳˙<EFBFBD>剩<EFBFBD><EFBFBD><EFBFBD>峕<EFBFBD><EFBFBD>?嚚𤾸<E59A9A><F0A4BEB8>𤩺肼蝝垍<E89D9D>璅潭斐<E6BDAD>蛔<EFBFBD><E89B94>潮<EFBFBD>戭?<3F>㗛<EFBFBD><E3979B>𡝯<EFBFBD><F0A19DAF><EFBFBD>蝸撏菟<E6928F><E88F9F>?繳<>澾<EFBFBD>瘨覀<E798A8><E8A680>⊥<EFBFBD>畾暸<E795BE><E69AB8>𡒊<EFBFBD>憿虫撈撘脤<E69298><E884A4>衣<EFBFBD><E8A1A3>喇<EFBFBD><E59687>𡁻<EFBFBD>瘣?<3F>券<EFBFBD><E588B8>聆<EFBFBD>敶埝<E695B6><E59F9D><EFBFBD><EFBFBD><EFBFBD>𤩺縑<F0A4A9BA>𡁏鉄<F0A1818F>瑟<EFBFBD><E7919F><EFBFBD><EFBFBD><EFBFBD>𨅯鉄<F0A885AF>孵<EFBFBD><E5ADB5><EFBFBD>緤<EFBFBD>撏潮<E6928F><E6BDAE>脩貍<E884A9><E8B28D>蝸<EFBFBD>㚚<EFBFBD><E39A9A>惩<EFBFBD>憡<EFBFBD>湶<EFBFBD><E6B9B6>䲮<EFBFBD>抒盔<E68A92><E79B94><EFBFBD><EFBFBD>券<EFBFBD><E588B8>𥕦??
|
||||
zlog_error(zbt, "tcgetattr fail");
|
||||
return -1;
|
||||
}
|
||||
@ -1421,7 +1329,7 @@ int set_opt(int fd, int nSpeed, int nBits, char nEvent, int nStop) {
|
||||
break;
|
||||
}
|
||||
|
||||
switch (nSpeed) //闂備浇宕垫慨宕囩矆娴h娅犲ù鐘差儐閸嬵亪鏌涢埄鍐︿粶闁哄鐗犻弻鏇$疀鐎n亞浠煎銈冨劜椤ㄥ﹪寮婚敐鍛牚闁归偊鍘奸锟<EFBFBD>
|
||||
switch (nSpeed) //<EFBFBD><EFBFBD><EFBFBD>瘚<EFBFBD><EFBFBD><EFBFBD>?<3F>典<EFBFBD><E585B8>拍<EFBFBD>憡湛<E686A1><E6B99B>匧<EFBFBD><E58CA7>笛寥<E7AC9B>撌?<3F>鞾鴡戭萎漯<E8908E>峕閒<E5B395><E99692><EFBFBD>儭輻眸<E8BCBB><E79CB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>餃撒<E9A483><E69292><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𠬍<EFBFBD>鈭墧<E988AD><E5A2A7>舩<EFBFBD><E888A9><EFBFBD><EFBFBD><EFBFBD>𨀣中<F0A880A3>伐鼓撖?憍𡁏<E6868D><F0A1818F>䝼<EFBFBD><E49DBC>𡁻<EFBFBD>敶鍦<E695B6><E98DA6>睃斥<E79D83>娪<EFBFBD>嚙?
|
||||
{
|
||||
case 2400:
|
||||
cfsetispeed(&newtio, B2400);
|
||||
@ -1449,7 +1357,7 @@ int set_opt(int fd, int nSpeed, int nBits, char nEvent, int nStop) {
|
||||
zlog_error(zbt, "invalid speed:%d, use B9600", nSpeed);
|
||||
break;
|
||||
}
|
||||
if (nStop == 1) //闂備浇宕垫慨宕囩矆娴h娅犲ù鐘差儐閸嬵亪鏌涢埄鍐槈缁惧墽绮换婵囩節閸屾凹浼岄梺鍛婃尰閸庢娊婀侀梺鎸庣箓缁绘垹鈧熬鎷<EFBFBD>
|
||||
if (nStop == 1) //<EFBFBD><EFBFBD><EFBFBD>瘚<EFBFBD><EFBFBD><EFBFBD>?<3F>典<EFBFBD><E585B8>拍<EFBFBD>憡湛<E686A1><E6B99B>匧<EFBFBD><E58CA7>笛寥<E7AC9B>撌?<3F>鞾鴡戭萎漯<E8908E>峕閒<E5B395><E99692><EFBFBD><EFBFBD><EFBFBD>?<3F><><EFBFBD>批Ⅴ蝏?<3F>𨀣揢憍萄䣐蝭<E4A390><E89DAD>詨掛<E8A9A8>寞絳撗<E7B5B3>Ⅱ<EFBFBD>𥕦<EFBFBD>撠圈鴡摨W<E691A8>憍<EFBFBD>靘<EFBFBD>璇粹纒摨<E7BA92><E691A8>蝻<EFBFBD><E89DBB><EFBFBD>寥ê<E5AFA5><C3AA><EFBFBD><EFBFBD>瘀蕭
|
||||
newtio.c_cflag &= ~CSTOPB;
|
||||
else if (nStop == 2)
|
||||
newtio.c_cflag |= CSTOPB;
|
||||
@ -1463,51 +1371,6 @@ int set_opt(int fd, int nSpeed, int nBits, char nEvent, int nStop) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int getcsq() {
|
||||
int ret = 0;
|
||||
char csq[128] = {0};
|
||||
int fd = 0;
|
||||
|
||||
if ((fd = open("/dev/ttyUSB2", O_RDWR | O_NOCTTY | O_NDELAY)) < 0) {
|
||||
zlog_error(zct, "fail to open /dev/ttyUSB2");
|
||||
return 1;
|
||||
} else {
|
||||
set_opt(fd, 9600, 8, 'N', 1);
|
||||
}
|
||||
set_opt(fd, 115200, 8, 'N', 1);
|
||||
|
||||
ret = write(fd, "AT+CSQ", 6);
|
||||
if (ret < 0) {
|
||||
zlog_error(zct, "fail to write AT+CSQ");
|
||||
close(fd);
|
||||
return 1;
|
||||
}
|
||||
sleep(1);
|
||||
unsigned char rbuf[128] = {0x00};
|
||||
int len = read(fd, rbuf, sizeof(rbuf)); // 闂傚倷绶氬鑽ゆ嫻閻旂厧绀夐悗锝庡墯閸熸椽鏌涢埄鍐槈闁活厽顨婇弻銊モ攽閸℃瑥鈷堥梺鎼炲€戦崹浠嬪蓟濞戞粎鐤€閻庯綆浜滄慨搴ㄦ⒑閻戔晛顫掗柛娑卞灣閻e爼姊洪幐搴㈩梿闁稿骸顭烽妴鍛存晸閿燂拷
|
||||
close(fd);
|
||||
zlog_info(zct, "rbuf = %s,len = %d", rbuf, len);
|
||||
sleep(1);
|
||||
if (len < 0) {
|
||||
zlog_error(zct, "Can't get /dev/ttyUSBx Serial Port data!");
|
||||
return 1;
|
||||
}
|
||||
|
||||
const char *str2 = "+QENG: ";
|
||||
char *pdata = strstr((char *)rbuf, str2);
|
||||
if (pdata)
|
||||
strncpy(csq, pdata + 7, sizeof(csq));
|
||||
else {
|
||||
zlog_error(zct, "fail to find +QENG: ");
|
||||
return -1;
|
||||
}
|
||||
GlobalConfig::NetStatus = GetOneContent(csq, 1, ",");
|
||||
std::string signal = GetOneContent(csq, 13, ",");
|
||||
GlobalConfig::NetSignal = atoi(signal.c_str());
|
||||
zlog_info(zct, "NetStatus = %s,NetSignal = %d", GlobalConfig::NetStatus.c_str(), GlobalConfig::NetSignal);
|
||||
return atoi(signal.c_str());
|
||||
}
|
||||
|
||||
void IniReadValue(const char *section, const char *key, char *val, const char *file) {
|
||||
FILE *fp;
|
||||
int i = 0;
|
||||
@ -1669,15 +1532,15 @@ int writeIntValue(const char *section, const char *key, int val, const char *fil
|
||||
|
||||
int getDiskInfo(char *diskTotal, char *diskFree) {
|
||||
DISK diskInfo;
|
||||
/* 1.闂傚倷绀侀崥瀣磿閹惰棄搴婇柤鑹扮堪娴滃綊鏌ㄩ悤鍌涘/home/婵犵數鍋為崹鍫曞箰閹间緡鏁勫璺衡看閻掕棄霉閻撳海鎽犻柛搴$Ч閺屾盯寮撮妸銉ュ箣闂佺ǹ顑嗛幐楣冨箯閻樺樊鍟呮い鏂垮悑濞呭秹姊婚崒娆愮グ妞ゆ洘绮撻獮蹇涙晸閿燂拷 */
|
||||
/* 1.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>瑞<EFBFBD>靘<EFBFBD>撏亦<EFBFBD><EFBFBD><EFBFBD>蝤輸䲮<EFBFBD>唳?<3F>鐦憍<E990A6>鴂<EFBFBD>寞肼<E5AF9E>?憡湔<E686A1>蝬𢠃<E89DAC><F0A2A083>拇<EFBFBD><E68B87>峕<EFBFBD><E5B395>?/home/憍萇𠽌<E89087>賊<EFBFBD><E8B38A>箏晶<E7AE8F>?<3F>䂿?圈䲮<E59C88>渡楚<E6B8A1><E6A59A>𤧚<EFBFBD>輻冨銵∠<E98AB5><E288A0>餅<EFBFBD>璉<EFBFBD><E79289><EFBFBD>餅湶瘚琿罁<E790BF>餅<EFBFBD><E9A485>湛<EFBFBD>虴<EFBFBD>箏掛<E7AE8F>?撖?<3F>?憒賊<E68692><E8B38A>亦?<3F><>雿瘉寥?穃<>撟鞉奴<E99E89>函??<3F>餅那璅𢠃<E79285><F0A2A083>?<3F><><EFBFBD><EFBFBD>?<3F>烐<EFBFBD><E78390>?蝘孵?𠰴?𡁜<>憡<EFBFBD><E686A1><EFBFBD>啣?𠺶<>瘣条赫<E69DA1>餌旿頩<E697BF><E9A0A9><EFBFBD>賊𪃭<E8B38A><F0AA83AD>鼧 */
|
||||
statfs("/", &diskInfo);
|
||||
unsigned long long blocksize = diskInfo.f_bsize;
|
||||
unsigned long long totalsize = blocksize * diskInfo.f_blocks;
|
||||
|
||||
|
||||
/* 2.闂傚倷绀侀崥瀣磿閹惰棄搴婇柤鑹扮堪娴滃綊鏌涢妷锝呭闁崇粯妫冮弻宥堫檨闁告挻姘ㄧ划娆愬緞鐏炵ǹ浜鹃柨婵嗙凹缁ㄥ鏌嶉柨瀣ⅹ闂囧鏌ㄥ┑鍡橆棤闁瑰啿鎳橀弻宥囨喆閸曨厼鈷屽┑顔硷工椤嘲顕i崼鏇炵闁绘劕妯婃导鍛存⒒娴e憡鍟為柣鐕佸灦瀹曞綊骞庨挊澶嬬€梺闈涚墕濞层劑鎯屽顓犵鐎瑰壊鍠曠花濂告煥濞戞艾鏋涢柡宀嬬秮婵℃悂濡烽妷顔绘偅闂備線娼уú銈吤洪妸锔绢洸闁归棿鐒﹂弲鎼佹煥閻曞倹瀚<EFBFBD> */
|
||||
unsigned long long freeDisk = diskInfo.f_bfree * blocksize; //闂傚倷绀侀幉锟犲箰閹绢喖鐤炬繛鍡樺灩缁€濠囨煙鐎电ǹ啸闁活厽纰嶇换娑橆啅椤旇崵鍑归梺鎸庣〒閸犳牠寮婚敐澶娢╅柕澶堝労娴犲ジ姊洪棃娑欐悙婵炲眰鍔嶇粋宥夊箹娴h娅㈤梺璺ㄥ櫐閹凤拷
|
||||
// unsigned long long availableDisk = diskInfo.f_bavail * blocksize; //闂傚倷绀侀幉锟犳偡椤栫偛鍨傞柟鎯版閺嬩線鏌曢崼婵囧窛闁活厽纰嶇换娑橆啅椤旇崵鍑归梺鎸庣〒閸犲酣鈥﹂崸妤€閱囬柛鈩冾殔閺嗙喐鎱ㄩ敐蹇斿
|
||||
/* 2.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>瑞<EFBFBD>靘<EFBFBD>撏亦<EFBFBD><EFBFBD><EFBFBD>蝤輸䲮<EFBFBD>唳?<3F>鐦憍<E990A6>鴂<EFBFBD>寞肼<E5AF9E>?憡湔<E686A1>蝬𢠃<E89DAC>瘨W朵<EFBCB7>嘥麢<E598A5>钅<EFBFBD>撏<EFBFBD>盔憒?<3F>?撘餃?亙𠼻瑼券<E791BC><E588B8>𦠜龫憪塩<E686AA><E5A1A9>鍦<EFBFBD><E98DA6>?蝺鮋<E89DBA><E9AE8B>腎寞<E8858E>暽<EFBFBD>傦憍萄<E6868D><E89084>寧<EFBFBD><E5AFA7>伍嘑<E4BC8D><E59891><EFBFBD><EFBFBD>函<EFBFBD><E587BD><EFBFBD><EFBFBD>寥<EFBFBD><E5AFA5>抆猐<E68A86>䎚<EFBFBD><E48E9A>煾㨃璈<E3A883>ㄓ<EFBFBD><E38493>麯<EFBFBD>輸𨍭璈<F0A88DAD>撘餃?亙𢂚<E4BA99><F0A2829A>鴡<EFBFBD>典罀<E585B8>瑕掃<E79195>煾?𠉛◎撌交中<E4BAA4>𧼮俈憿𤏪<E686BF>撏潮<E6928F><E6BDAE>蛔<EFBFBD><E89B94><EFBFBD><EFBFBD><EFBFBD>訫旬憍<E697AC>?潮<>摮覀<E691AE>憡湛<E686A1><E6B99B>⊿<EFBFBD><E28ABF>箸鰊<E7AEB8>蓥螂<E893A5>衣<EFBFBD>寞<EFBFBD>蝬𢠃<E89DAC>摨冽<E691A8>瞉嗅??<3F>?<3F><>Ⅱ<EFBFBD><E285A1><EFBFBD>憓閙<E68693>撅<EFBFBD><E69285><EFBFBD>?撅踐<E69285>憿梶𠽌<E6A2B6>閖<EFBFBD><E99696>啣?𢠃<><F0A2A083>㰘<EFBFBD>瞈<EFBFBD><E79E88><EFBFBD>交<EFBFBD><E4BAA4>噼𪄳<E599BC>𧢲閒<F0A7A2B2>∪<EFBFBD>戭?蝘?憍菊<E6868D><E88F8A><EFBFBD>縑<EFBFBD>賢朵憿𠉛<E686BF><F0A0899B><EFBFBD><EFBFBD><EFBFBD>嗵<EFBFBD>憡槽<E686A1>粹<EFBFBD><E7B2B9>斗揪憒賊<E68692>蝏X晴<EFBCB8><E699B4><EFBFBD>璉輸<E79289>儮<EFBFBD>撞<EFBFBD>潔蝴<E6BD94>仿鸘<E4BBBF>𧼮<EFBFBD>寧<EFBFBD>𡄯蕭 */
|
||||
unsigned long long freeDisk = diskInfo.f_bfree * blocksize; //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>瑞<EFBFBD>靘<EFBFBD>撟厰<EFBFBD><EFBFBD>脩?圈䲮蝏W<E89D8F><EFBCB7>斤<EFBFBD>蝜偦㨃璅箇<E79285>蝻<EFBFBD><E89DBB>瞈惩𢂚<E683A9>䠷<EFBFBD><E4A0B7>腎孵彍<E5ADB5><E5BD8D>暑<EFBFBD>賜滌撊<E6BB8C>揢憡烐<E686A1><E78390><EFBFBD>中<EFBFBD><E4B8AD>斯<EFBFBD>穃<EFBFBD>璇粹纒摨<E7BA92><E691A8>㘾鴡<E398BE>喟<EFBFBD>撖?憍𡁏<E6868D>瞉嗅芍<E59785><E88A8D><EFBFBD>瞉嗅<E79E89><E59785>游迄<E6B8B8>脯<EFBFBD>憪𦠜揪璉<E68FAA><E79289>甈鞉<E79488>憍萇<E6868D><E89087>圈<EFBFBD>撊<EFBFBD><E6928A>摰亙?羓?孵迄嚚<E8BF84><E59A9A>憡<EFBFBD>ế璇箇冨<E7AE87>交<EFBFBD><E4BAA4>孵龗<E5ADB5>?
|
||||
// unsigned long long availableDisk = diskInfo.f_bavail * blocksize; //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>瑞<EFBFBD>靘<EFBFBD>撟厰<EFBFBD><EFBFBD>喳<EFBFBD>璊斗𠼻<EFBFBD>偦崕<EFBFBD>墧<EFBFBD><EFBFBD>?<3F><><EFBFBD><EFBFBD>箏?拍<><E68B8D>峕𣪧撏澆延<E6BE86>抒<EFBFBD><E68A92><EFBFBD>暑<EFBFBD>賜滌撊<E6BB8C>揢憡烐<E686A1><E78390><EFBFBD>中<EFBFBD><E4B8AD>斯<EFBFBD>穃<EFBFBD>璇粹纒摨<E7BA92><E691A8>㘾鴡<E398BE>脤<EFBFBD><E884A4>伐<EFBFBD>撏詨忖<E8A9A8>?<3F>勗𨪚<E58B97>偦⏚<E581A6>暹<EFBFBD><E69AB9>箏<EFBFBD><E7AE8F>鞾𡟹<E99EBE>拇<EFBFBD>頩<EFBFBD>𪃭<EFBFBD>?
|
||||
|
||||
sprintf(diskTotal, "%llu", totalsize >> 20);
|
||||
sprintf(diskFree, "%llu", freeDisk >> 20);
|
||||
@ -1705,28 +1568,28 @@ unsigned short cal_chksum(unsigned short *addr, int len) {
|
||||
|
||||
int socketHeart(const char *pSendData) {
|
||||
zlog_info(zct, "socketHeart");
|
||||
int sockfd; // Socket闂傚倷绀侀幖顐﹀磹缁嬫5娲晲閸涱亝鐎婚梺闈涚箞閸婃洜绮婚悽鍝ュ彄闁搞儯鍔忔竟姗€鏌eΔ浣圭殤缂佽鲸甯掕灃閻庯綆鍋勯锟<EFBFBD>
|
||||
struct sockaddr_in serverAddr {}; // Server闂傚倷绶氬濠氭⒔閸曨偒鐔嗘俊顖欒閻掍粙鏌涢幇鍏哥敖缁炬儳銈搁弻鐔煎箚瑜滈崵鐔兼煃瑜滈崜锕傚垂闁秴绠柛娑樼摠閺呮悂鏌ㄩ悤鍌涘
|
||||
int sockfd; // Socket<EFBFBD><EFBFBD><EFBFBD><EFBFBD>瑞<EFBFBD>靘<EFBFBD>撟㚚?琜<>蝤寧<E89DA4>戭?嚗訫迆<E8A8AB><E8BF86>苿<EFBFBD>豢雇鈭嗪<E988AD>憍𡁏Ⅱ<F0A1818F><E285A1><EFBFBD>蝞鮋鴡憍<E9B4A1><E6868D>蝏?憍𡁏<E6868D><F0A1818F>腈<EFBFBD>敶<EFBFBD><E695B6><EFBFBD>𧼮<EFBFBD><F0A7BCAE>𥪜<EFBFBD>蝡笔?轁<><E8BD81>䕘<EFBFBD><E49598>瘚<EFBFBD>𤧐畾斤<E795BE>雿賡硫<E8B3A1>?<3F>閧<EFBFBD><E996A7>餃滲蝬<E6BBB2><E89DAC><EFBFBD>?<3F>娪<EFBFBD>嚙?
|
||||
struct sockaddr_in serverAddr {}; // Server<EFBFBD><EFBFBD><EFBFBD><EFBFBD>瑞辣瘞?<3F><><EFBFBD>瘞?<3F>娪鴡<E5A8AA>典<EFBFBD><E585B8>𥪜<EFBFBD>靽𢠃?𡝗<><F0A19D97>罸鸘<E7BDB8>滨<EFBFBD><E6BBA8>峕閒撟<E99692><E6929F><EFBFBD>交<EFBFBD>蝻<EFBFBD><E89DBB><EFBFBD>喲<EFBFBD><E596B2><EFBFBD>撒<EFBFBD>𠉛<EFBFBD>蝞𡁶<E89D9E>皛<EFBFBD>斯<EFBFBD>𥪜<EFBFBD><F0A5AA9C><EFBFBD><EFBFBD>皛<EFBFBD><E79A9B><EFBFBD>訫<EFBFBD><E8A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝘渡<E89D98><E6B8A1>墧<EFBFBD>憡烐?潭<><E6BDAD>箏䴴<E7AE8F><E4B4B4><EFBFBD><EFBFBD>拇<EFBFBD><E68B87>峕<EFBFBD><E5B395>?
|
||||
|
||||
// 闂傚倷绀侀幉锛勬暜濡ゅ啰鐭欓柟瀵稿Х绾句粙鏌熺紒妯肩潉cket
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>瑞<EFBFBD>靘<EFBFBD>撟厰<EFBFBD><EFBFBD>?<3F>𨀣縑<F0A880A3><E7B891>㺭<EFBFBD>?甈𤘪<E79488><F0A498AA>萇?諱亦遝<E4BAA6>亦<EFBFBD><E4BAA6>𣬚<EFBFBD>蝝鍦旬<E98DA6>拇<EFBFBD>cket
|
||||
if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
|
||||
zlog_error(zct, "Failed to create socket.");
|
||||
return 1;
|
||||
}
|
||||
|
||||
// 闂備浇宕垫慨宕囩矆娴h娅犲ù鐘差儐閸嬵亪鏌涘┑鍫濈€瑀ver闂傚倷绶氬濠氭⒔閸曨偒鐔嗘俊顖欒閻掍粙鏌涢幇銊︽珖闁崇懓绉归弻宥夊煛娴e憡娈ㄧ紓浣瑰敾閹凤拷
|
||||
// <EFBFBD><EFBFBD><EFBFBD>瘚<EFBFBD><EFBFBD><EFBFBD>?<3F>典<EFBFBD><E585B8>拍<EFBFBD>憡湛<E686A1><E6B99B>匧<EFBFBD><E58CA7>笛寥<E7AC9B>撌?<3F>鞾鴡戭萎漯<E8908E>峕<EFBFBD><E5B395>煾㪗瞈<E3AA97><E79E88><EFBFBD><EFBFBD>ver<65><72><EFBFBD><EFBFBD>瑞辣瘞?<3F><><EFBFBD>瘞?<3F>娪鴡<E5A8AA>典<EFBFBD><E585B8>𥪜<EFBFBD>靽𢠃?𡝗<><F0A19D97>罸鸘<E7BDB8>滨<EFBFBD><E6BBA8>峕閒撟<E99692><E6929F>儭賜<E584AD><E8B39C><EFBFBD><EFBFBD><EFBFBD>梶<EFBFBD>敶鍦撒摰亙?羓<>憡湛<E686A1><E6B99B>∪<EFBFBD><E288AA>抒<EFBFBD>瘚<EFBFBD>麯<EFBFBD>暸䲮<E69AB8>斗鼧
|
||||
serverAddr.sin_family = AF_INET;
|
||||
serverAddr.sin_port = htons(18393); // TCP婵犳鍠楃敮妤冪矙閹烘挾浠氭俊鐐€栭幑浣哥暦閻㈤潧鍨濋柍鍝勬媼閺佸秵鎱ㄥ鍡楀缂佸顦靛娲川婵犲嫭鍣┑鐐存尭濠€閬嶅箯瑜版帗鏅搁柨鐕傛嫹80
|
||||
serverAddr.sin_port = htons(18393); // TCP憍萇𠓼<EFBFBD>㚚<EFBFBD>璆<EFBFBD>𨮜憒文<EFBFBD><EFBFBD>䠷䲮<EFBFBD>䀹駠瘚䭾鬼靽𢠃<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?撟烐童<E78390>交鷼<E4BAA4>颯ế瞏折崕瞈𧢲<E79E88><F0A7A2B2>嘥𡠺慦潮𤄄雿貊孝<E8B28A>晞<EFBFBD><E6999E>𣈯㨃璆<E3A883><E79286>?蝻<>螂<EFBFBD><E89E82>’<EFBFBD>䝼<EFBFBD>憡船<E686A1>撌嘥延<E598A5>脣??<3F><><EFBFBD><EFBFBD>煾<EFBFBD>摮睃鬼瞈罱<E79E88><E7BDB1>?撊<>??<3F>𦦵<EFBFBD>撣烾<E692A3><E783BE><EFBFBD>傦<EFBFBD>訫<EFBFBD>憳?80
|
||||
inet_pton(AF_INET, "192.168.1.147", &serverAddr.sin_addr);
|
||||
|
||||
// 闂備礁鎼ˇ顐﹀疾濠靛纾婚柣鎰仛閺嗘粓鏌熺紒銏犳灈缂佲偓閸℃稒鐓熺憸搴f绾炬潳er
|
||||
// <EFBFBD><EFBFBD><EFBFBD>蝷<EFBFBD>罀<EFBFBD>竹<EFBFBD>?琜<><E7909C>暹<EFBFBD><E69AB9>䝼<EFBFBD>蝥曉?𡁏鰊<F0A1818F>堊<EFBFBD>隞偦𤄄<E581A6>条<EFBFBD><E69DA1>𣬚<EFBFBD>蝝㘾<E89D9D><E398BE>喟<EFBFBD>蝻<EFBFBD>蔡<EFBFBD>㯄鴡<E3AF84><E9B4A1><EFBFBD><EFBFBD>梶<EFBFBD><E6A2B6>豢鐦嚚<E990A6><E59A9A>蝏曄<E89D8F>瞏貫r
|
||||
if (connect(sockfd, reinterpret_cast<struct sockaddr *>(&serverAddr), sizeof(serverAddr)) == -1) {
|
||||
zlog_error(zct, "Failed to connect to the server.");
|
||||
close(sockfd);
|
||||
return 1;
|
||||
}
|
||||
|
||||
// 闂傚倷绀侀幉锟犳偡閿曞倸鍨傞柛褎顨呴悞鍨亜閹达絾纭舵い锔煎缁辨帡宕崟顐熸寖闂佸湱鎳撶€氫即骞栬ぐ鎺濇晝闁挎繂妫崯鈧梻鍌欒兌椤㈠﹪顢氶弽顓炵獥闁哄稁鍋€閸嬫挾鍠婃径瀣伓
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>瑞<EFBFBD>靘<EFBFBD>撟厰<EFBFBD><EFBFBD>喳<EFBFBD><EFBFBD>踵<EFBFBD><EFBFBD>賊崕<EFBFBD>墧<EFBFBD>銴𡡞”<EFBFBD>湔<EFBFBD><EFBFBD>?<3F>牐<EFBFBD><E78990>寡噢蝯曄滬<E69B84>萸<EFBFBD><E890B8>𠉛<EFBFBD><F0A0899B>?蝻<>儘撣∪<E692A3><E288AA>血<EFBFBD>憿鞟<E686BF>撖㚚<E69296>雿豢僚<E8B1A2>單𣺿<E596AE>?瘞?<3F>喲<EFBFBD><E596B2>?<3F>鞾鑬瞈<E991AC><E79E88><EFBFBD><EFBFBD><EFBFBD>蝜<EFBFBD>托<EFBFBD>W敞<EFBCB7>抆<EFBFBD>璇駁<E79287>甈鍦<E79488>璊扎<E7928A>儮?憿X偉撘賡?梶<><E6A2B6>仿<EFBFBD><E4BBBF><EFBFBD><EFBFBD><EFBFBD>𦥑<EFBFBD><F0A6A591>詨??<3F>暸<EFBFBD>憍<EFBFBD><E6868D><EFBFBD><EFBFBD><EFBFBD>隡?
|
||||
|
||||
ssize_t bytesSent = send(sockfd, pSendData, strlen(pSendData), MSG_NOSIGNAL);
|
||||
if (bytesSent == -1) {
|
||||
@ -1739,13 +1602,13 @@ int socketHeart(const char *pSendData) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
// 闂傚倷鑳舵灙缂佺粯鍨剁换娑欑節閸嬭姤绋撻崰濠囧煛閻滅€攅t闂備礁鎼ˇ顐﹀疾濠靛纾婚柣鎰仛閺嗘粓鏌ㄩ悤鍌涘
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>琿㭠<EFBFBD>萇<EFBFBD>蝻<EFBFBD>蝶蝎?<3F>典<EFBFBD><E585B8>W<EFBFBD>甈𤑳<E79488><F0A491B3>詨??憪斤<E686AA><E696A4>餃敦瞈惩𧗾<E683A9>偦鸘皛<E9B898><E79A9B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝷<EFBFBD>罀<EFBFBD>竹<EFBFBD>?琜<><E7909C>暹<EFBFBD><E69AB9>䝼<EFBFBD>蝥曉?𡁏鰊<F0A1818F>堊<EFBFBD>隞偦𤄄<E581A6>条<EFBFBD><E69DA1>䎚<EFBFBD><E48E9A>日<EFBFBD>瘨瞾<E798A8>
|
||||
close(sockfd);
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Ping闂傚倷绀侀幉锟犲垂閸忓吋鍙忛柕鍫濐槸濮规煡鏌i弬鍨倯闁哄拋鍓熼幃妤呭捶椤撶偘姘eout婵犵數鍋為崹鍫曞箲閸モ晝纾芥慨妯夸含閻捇鏌熺紒銏犳灈缂侇偄绉归弻銈囩矙鐠恒劋绮靛銇礁娲﹂埛鎺楁煕鐏炲墽绠栫憸鎶婂懐纾奸弶鍫涘妿缁犵偟鈧娲╃换婵嗩嚕閺夋埈娼╅弶鍫氭暕閵忋倖鈷戦柛婵嗗椤忣偅淇婇銈庢敵,10000 濠电姵顔栭崳顖滅礊閸℃稑纾婚柛鈩冨喕缂嶆牠鏌ㄩ悤鍌涘=10 缂傚倸鍊风粈渚€篓閳ь剟鏌熼崙銈嗗
|
||||
//闂傚倷鑳堕幊鎾绘偤閵娾晛绀夐柡鍥╁枑閸欏繑绻涢幋娆忕仾闁哄拋鍓氶幈銊ノ熼搹鐧哥礊缂備胶濮甸悡锟犲蓟濞戙垹唯妞ゆ牗绋戦锟<EFBFBD>0闂傚倷鐒︾€笛呯矙閹达附鍤愭い鏍仜妗呴梺鐟邦嚟婵數鈧艾顭烽弻鏇熷緞濡櫣浠紓浣瑰姈椤ㄥ﹤顕i崼鏇炵厸闁稿本绋撻崣鍡椻攽閻愰鍤嬮柟鍑ゆ嫹1闂傚倷鑳堕、濠囧箵椤忓牆绠柨鐕傛嫹-1
|
||||
// Ping<EFBFBD><EFBFBD><EFBFBD><EFBFBD>瑞<EFBFBD>靘<EFBFBD>撟厰<EFBFBD><EFBFBD>脣<EFBFBD><EFBFBD>詨<EFBFBD><EFBFBD>钅<EFBFBD>敹𥟇<EFBFBD><EFBFBD>?瞈鞉孛瞈?閫<><E996AB><EFBFBD>䕘<EFBFBD>撘?<3F>?<3F>賢<EFBFBD>?<3F><><EFBFBD><EFBFBD>钅<EFBFBD><E99285>澆<EFBFBD>憒文麢<E69687>嗆中<E59786>嗅<EFBFBD>憪瞾<E686AA>eout憍萇𠽌<E89087>賊<EFBFBD><E8B38A>箏晶<E7AE8F>?<3F>䂿?脤鴡<E884A4>X<EFBFBD>蝥曇𥁒<E69B87>典旬憭詨鉄<E8A9A8>魂<EFBFBD><E9AD82><EFBFBD><EFBFBD><EFBFBD>箇<EFBFBD><E7AE87>讐𠓼<E8AE90><F0A093BC><EFBFBD>靘<EFBFBD><E99D98>蝏匧<E89D8F>撘駁<E69298><E9A781>拍<EFBFBD><E68B8D>䭾<EFBFBD><E4ADBE>讠赫<E8AEA0>䝼<EFBFBD><E49DBC><EFBFBD><EFBFBD>蝷<EFBFBD>迆儮<E8BF86><E584AE><EFBFBD>箸?<3F><><EFBFBD>讐<EFBFBD>憓賜<E68693><E8B39C>?<3F>賊𦅚憍<F0A6859A><E6868D>蝥曉斥撘園㪗瘨睃?輻<><E8BCBB>萄<EFBFBD><E89084>抆<EFBFBD><E68A86>匧迆<E58CA7><E8BF86>揢憍萄𡟺<E89084>閖𤄄憭见<E686AD>憡潑<E686A1>撘園㪗瘞?<3F>閖鮟敹见<E695B9>㚚<EFBFBD><E39A9A>行<EFBFBD>憍萄<E6868D><E89084>拇中敹<E4B8AD><E695B9>瘛<EFBFBD><E7989B><EFBFBD>閖<EFBFBD>摨X訽,10000 瞈删㩞憪菟?娍<>撏喲?𡝗<>蝷𢠃鴡<F0A2A083><E9B4A1><EFBFBD>蝥曉?𡁏<><F0A1818F>拙<EFBFBD><E68B99>閧<EFBFBD>撊<EFBFBD><E6928A><EFBFBD>䎚<EFBFBD><E48E9A>日<EFBFBD>瘨瞾<E798A8>=10 蝻<><E89DBB><EFBFBD>賊<EFBFBD>憌𡒊<E6868C>皜尠<E79A9C>蝭㯄鯏<E3AF84><E9AF8F>罸<EFBFBD><E7BDB8>澆<EFBFBD><E6BE86><EFBFBD><EFBFBD><EFBFBD>?
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>琿㭠<EFBFBD>訫<EFBFBD><EFBFBD>曄<EFBFBD><EFBFBD>日鮟憡暹<EFBFBD>蝏<EFBFBD>憭鞉椬<EFBFBD>乒<EFBFBD><EFBFBD>煾鴡甈讐<EFBFBD>蝏餅閒撟见<EFBFBD>敹蓥遝<EFBFBD><EFBFBD><EFBFBD><EFBFBD>钅<EFBFBD>瘞嗅<EFBFBD><EFBFBD>𨳍<EFBFBD><EFBFBD>潭𨛘<EFBFBD>批𢬢蝷羓<EFBFBD><EFBFBD>躰<EFBFBD>瞈?<3F>豢<EFBFBD><E8B1A2>毺𤗈<E6AFBA><F0A49788><EFBFBD><EFBFBD>坔㧜<E59D94>?憒𠺶<E68692><F0A0BAB6>㛖<EFBFBD><E39B96>佇<EFBFBD><E4BD87><EFBFBD>蕭0<E895AD><30><EFBFBD><EFBFBD>琿<EFBFBD>儭撾<E584AD>蝚𥕦麪<F0A595A6>䠷䲮颲暸<E9A2B2><E69AB8>斗<EFBFBD><E69697><EFBFBD><EFBFBD><EFBFBD>?隞𨅯?堒㧥璇粹<E79287><E7B2B9>血<EFBFBD>憍蛔<E6868D><E89B94>賊ê<E8B38A><C3AA>𪄳憿?<3F>賢撒<E8B3A2><E69292><EFBFBD>蝺墧縑<E5A2A7>脲?<3F><><EFBFBD>𦦵<EFBFBD>瘚<EFBFBD>麯憪<E9BAAF>中<EFBFBD>伐馱憿𤏪<E686BF>撏潮<E6928F><E6BDAE>萄纒<E89084><E7BA92>?踵𧋦蝏𧢲凃撏<E58783>㨃璊餅𤪖<E9A485>餅<EFBFBD><E9A485><EFBFBD>搇戭?<3F>罸<EFBFBD><E7BDB8><EFBFBD>??1<><31><EFBFBD><EFBFBD>琿㭠<E790BF>𨰻<EFBFBD><F0A8B0BB><EFBFBD><EFBFBD>抒?菜中敹梶<E695B9>蝏𡋾<E89D8F><F0A18BBE>券<EFBFBD><E588B8>𥕦??-1
|
||||
int Ping(const char *ips, int timeout) {
|
||||
struct timeval *tval;
|
||||
int maxfds = 0;
|
||||
@ -1754,13 +1617,13 @@ int Ping(const char *ips, int timeout) {
|
||||
int iRet = 0;
|
||||
struct sockaddr_in addr;
|
||||
struct sockaddr_in from;
|
||||
// 闂備浇宕垫慨鎶芥倿閿曞倸纾块柟鎯板Г閸嬧晝绱撳搴㈡婵犵數鍎戠徊钘壝洪悩璇茬婵犻潧娲ら閬嶆煥閻曞倹瀚<EFBFBD>
|
||||
// <EFBFBD><EFBFBD><EFBFBD>瘚<EFBFBD><EFBFBD><EFBFBD>?<3F>券𦅚<E588B8>亙<EFBFBD>輸𪃭<E8BCB8>𧼮<EFBFBD>貊瑣<E8B28A>埈<EFBFBD><E59F88>?<3F>諱㯄鴡戭扳<E688AD>蝏望湶<E69C9B>潭鐦<E6BDAD>∵<EFBFBD>憍萇𠽌<E89087>賊<EFBFBD><E8B38A>惩<EFBFBD><E683A9>睃?脲揪<E884B2>拍<EFBFBD><E68B8D>?<3F>?憍萇䪴瞏批迆<E689B9>㕲<EFBFBD><E395B2>?撊<><E6928A><EFBFBD>餅<EFBFBD><E9A485>寧<EFBFBD>𡄯蕭
|
||||
bzero(&addr, sizeof(addr));
|
||||
addr.sin_family = AF_INET;
|
||||
addr.sin_addr.s_addr = inet_addr(ips);
|
||||
|
||||
int sockfd;
|
||||
// 闂傚倷绀侀幉锟犳偡閿曞倹鍋嬮柡鍥╁У椤愪粙鏌i鍛傛溈ket 闂傚倷绶氬褍螞閹绢喖绠柨鐕傛嫹 婵犵數濮烽。浠嬪焵椤掆偓閸熷潡鍩€椤掆偓缂嶅﹪骞冨Ο璇茬窞濠电偟鍋撻悡銏ゆ⒑閻愯棄鍔氶柛鐔锋健閿濈偤路缁犲垼o 闂備礁鎼ˇ顐﹀疾濠婂牊鍋¢柍鍝勬噹闂傤垶姊洪崹顕呭剰妞ゆ洝椴搁幈銊ヮ潨閸℃绠归悶姘哺濮婄粯鎷呯粙璺ㄦ闂佺懓鍤栭幏锟<E5B98F>
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>瑞<EFBFBD>靘<EFBFBD>撟厰<EFBFBD><EFBFBD>喳<EFBFBD><EFBFBD>踵<EFBFBD><EFBFBD>寥<EFBFBD>戭?<3F>⊿摚<E28ABF><E6919A><EFBFBD>中<EFBFBD>?蝎䠷<E89D8E>嚚㕲<E59A9A><E395B2>𥕦<EFBFBD>皞ɑet <20><><EFBFBD><EFBFBD>瑞辣瘞?<3F><>?滩<><E6BBA9>寧誥<E5AFA7>𣇉<EFBFBD><F0A38789>墧傦<E5A2A7>訫<EFBFBD>憳? 憍萇𠽌<E89087>豢耨<E8B1A2>賬<EFBFBD><E8B3AC><EFBFBD>戭?<3F>菜中<E88F9C><E4B8AD><EFBFBD><EFBFBD>貊<EFBFBD>瞏⊿嘡<E28ABF>?璊斗<E7928A><E69697>梶<EFBFBD>撊<EFBFBD>鼓撉𧼮<E69289><F0A7BCAE><EFBFBD><EFBFBD>嬕蝒墧<E89D92><E5A2A7>萄<EFBFBD><E89084>𧢲凃<F0A7A2B2>⊿<EFBFBD><E28ABF><EFBFBD><EFBFBD><EFBFBD>餅<EFBFBD>璉<EFBFBD><E79289>瘞嗆<E7989E><E59786>娪<EFBFBD><E5A8AA>仿𪃭瞈<F0AA83AD><E79E88>頝?蝻<>𤗈<EFBFBD>廢 <20><><EFBFBD>蝷<EFBFBD>罀<EFBFBD>竹<EFBFBD>?琜<><E7909C>暹<EFBFBD>憍<EFBFBD><E6868D><EFBFBD>页<EFBFBD><E9A1B5>漤<EFBFBD><E6BCA4>?<3F>寥<EFBFBD><E5AFA5>文沲憪𦠜揪撏寥?訫麢<E8A8AB>啣?𠺶<>瘣脲仍<E884B2><E4BB8D><EFBFBD><EFBFBD>𨳍<EFBFBD>瞏券鴡<E588B8><E9B4A1><EFBFBD>蝏惩<E89D8F><E683A9>嗅?瞾<><E79EBE>箸耨憍<E880A8>盔<EFBFBD>瑕麪蝎嗵冨<E597B5>佇<EFBFBD><E4BD87><EFBFBD>蝶<EFBFBD>㯄搇<E3AF84>?撟誯<E6929F>嚙?
|
||||
sockfd = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
|
||||
if (sockfd < 0) {
|
||||
zlog_error(zct, "ip:%s,socket error", ips);
|
||||
@ -1768,7 +1631,7 @@ int Ping(const char *ips, int timeout) {
|
||||
}
|
||||
|
||||
struct timeval timeo;
|
||||
// 闂備浇宕垫慨鎶芥倿閿曞倸纾块柟鎯板Г閸嬧晝绱撳鍥骏meOut闂傚倷绀侀幖顐﹀疮椤愶附鍋夐柣鎾冲濞戙垺鏅搁柨鐕傛嫹
|
||||
// <EFBFBD><EFBFBD><EFBFBD>瘚<EFBFBD><EFBFBD><EFBFBD>?<3F>券𦅚<E588B8>亙<EFBFBD>輸𪃭<E8BCB8>𧼮<EFBFBD>貊瑣<E8B28A>埈<EFBFBD><E59F88>?<3F>諱㯄鴡戭扳<E688AD>蝏望湶<E69C9B>潮摚<E6BDAE>㘾<EFBFBD>meOut<75><74><EFBFBD><EFBFBD>瑞<EFBFBD>靘<EFBFBD>撟㚚?琜<><E7909C>?璊斗<E7928A><E69697><EFBFBD><EFBFBD>憭鞉鰊<E99E89>曉<EFBFBD><E69B89><EFBFBD><EFBFBD><EFBFBD>坔卽<E59D94><E58DBD><EFBFBD><EFBFBD>券<EFBFBD><E588B8>𥕦??
|
||||
timeo.tv_sec = timeout / 1000;
|
||||
timeo.tv_usec = timeout % 1000;
|
||||
|
||||
@ -1780,25 +1643,25 @@ int Ping(const char *ips, int timeout) {
|
||||
|
||||
char sendpacket[2048];
|
||||
char recvpacket[2048];
|
||||
// 闂備浇宕垫慨鎶芥倿閿曞倸纾块柟鎯板Г閸嬧晝绱撳鍥х毇ng闂傚倷绀侀幉锟犳偋椤撱垹绠柨鐕傛嫹
|
||||
// <EFBFBD><EFBFBD><EFBFBD>瘚<EFBFBD><EFBFBD><EFBFBD>?<3F>券𦅚<E588B8>亙<EFBFBD>輸𪃭<E8BCB8>𧼮<EFBFBD>貊瑣<E8B28A>埈<EFBFBD><E59F88>?<3F>諱㯄鴡戭扳<E688AD>蝏望湶<E69C9B>潮摚<E6BDAE>瘥𡵞g<F0A1B59E><67><EFBFBD><EFBFBD>瑞<EFBFBD>靘<EFBFBD>撟厰<E6929F><E58EB0>喳<EFBFBD>璊斗兝<E69697>寧<EFBFBD><E5AFA7>墧傦<E5A2A7>訫<EFBFBD>憳?
|
||||
memset(sendpacket, 0, sizeof(sendpacket));
|
||||
|
||||
pid_t pid;
|
||||
// 闂傚倷绀侀幉锟犳偡閿曞倹鍋嬮柡鍥╁У椤愪粙鏌i埡濠冿紬D闂傚倷鐒︾€笛呯矙閹寸偟闄勯柡鍐ㄥ€荤粈濠囨煛閸愶絽浜剧紓浣割儏椤﹀崬顕h閵嗘帗鍒婂濠囨⒒娴e湱婀介柛鏂跨焸瀹曠敻鎮悥宄秂nce ID
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>瑞<EFBFBD>靘<EFBFBD>撟厰<EFBFBD><EFBFBD>喳<EFBFBD><EFBFBD>踵<EFBFBD><EFBFBD>寥<EFBFBD>戭?<3F>⊿摚<E28ABF><E6919A><EFBFBD>中<EFBFBD>?蝎䠷<E89D8E>嚚匧椬瞈惩<E79E88>蝝挑<E89D9D><E68C91><EFBFBD><EFBFBD>琿<EFBFBD>儭撾<E584AD>蝚𥕦麪<F0A595A6>䠷䲮撖詨<E69296><E8A9A8><EFBFBD>墙<EFBFBD>⊿<EFBFBD><E28ABF>乒<EFBFBD><E4B992>斤<EFBFBD>瞈惩𢂚<E683A9>偦鴡<E581A6>嗥善瘚𨅯<E7989A>蝝𤘪童<F0A498AA>脣<EFBFBD>璊歹<E7928A>撏?憿𤏪<E686BF><F0A48FAA>脤鮟<E884A4>睃<EFBFBD><E79D83>鍦<EFBFBD><E98DA6>𦠜<EFBFBD><F0A6A09C>兩<EFBFBD>憡湛<E686A1>皝勗<E79A9D>隞𧢲<E99A9E><F0A7A2B2><EFBFBD>楊<EFBFBD>貊<EFBFBD>寞<EFBFBD><E5AF9E>駁緤<E9A781><E7B7A4><EFBFBD>亙<EFBFBD>蝘<EFBFBD>ce ID
|
||||
pid = getpid();
|
||||
|
||||
struct ip *iph;
|
||||
struct icmp *icmp;
|
||||
|
||||
icmp = (struct icmp *)sendpacket;
|
||||
icmp->icmp_type = ICMP_ECHO; //闂傚倷鐒﹂幃鍫曞磿閹惰棄纾婚柣鎰棘閻旂ǹ绶為悘鐐村劤閻濅即姊绘担鍝ヤ虎妞ゆ垵娲ら敃銏ゆ晸閿燂拷
|
||||
icmp->icmp_type = ICMP_ECHO; //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>琿<EFBFBD>儮<EFBFBD><EFBFBD><EFBFBD>?<3F>䂿ˋ<E482BF>寞<EFBFBD>璉<EFBFBD>瑣憍𡁏鰊<F0A1818F>堊<EFBFBD>璉㗛鸘<E3979B><E9B898>寧辣<E5AFA7>箸<EFBFBD><E7AEB8>鞉<EFBFBD><E99E89>日鸘瞈<E9B898>朖憪羓<E686AA><E7BE93><EFBFBD><EFBFBD><EFBFBD>方<EFBFBD>憒𠺶<E68692><F0A0BAB6>萄迆<E89084>㗇<EFBFBD><E39787>譌<EFBFBD><E8AD8C>賊𪃭<E8B38A><F0AA83AD>鼧
|
||||
icmp->icmp_code = 0;
|
||||
icmp->icmp_cksum = 0;
|
||||
icmp->icmp_seq = 0;
|
||||
icmp->icmp_id = pid;
|
||||
tval = (struct timeval *)icmp->icmp_data;
|
||||
gettimeofday(tval, NULL);
|
||||
icmp->icmp_cksum = cal_chksum((unsigned short *)icmp, sizeof(struct icmp)); //闂傚倷绀侀幖顐ょ矙閸曨厽宕叉繝闈涱儐閸嬫﹢鏌ㄩ悤鍌涘
|
||||
icmp->icmp_cksum = cal_chksum((unsigned short *)icmp, sizeof(struct icmp)); //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>瑞<EFBFBD>靘<EFBFBD>撟㚚?僐<><E58390>䠷鴡<E4A0B7>典罁摰訫<E691B0>蝜嗪<E89D9C>瘨勗<E798A8><E58B97>詨??儮a<E584AE><EFBD81>拇<EFBFBD><E68B87>峕<EFBFBD><E5B395>?
|
||||
|
||||
int n = sendto(sockfd, (char *)&sendpacket, sizeof(struct icmp), 0, (struct sockaddr *)&addr, sizeof(addr));
|
||||
if (n < 1) {
|
||||
@ -1807,11 +1670,11 @@ int Ping(const char *ips, int timeout) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
// 闂傚倷娴囬~澶嬬娴犲纾块弶鍫亖娴滃綊鏌ㄩ悤鍌涘
|
||||
// 闂傚倷鐒﹂惇褰掑垂绾懌浜瑰璺虹焷婵櫕銇勯幒鎴濐仼闁活厽顨嗛妵鍕冀閵娧呯暤闂佸憡蓱閹告娊寮婚悢鐓庣畳闁圭儤鍨垫慨搴ㄦ偡濠婂嫭绶查柣妤佹尭閻e嘲顫濈捄铏归獓闂佸壊鐓堥崰鏍椤撶喓绠鹃悗鐢登规牎濠电姭鍋撴い锝呯礆g闂傚倷鐒﹂惇褰掑礉瀹€鈧埀顒佸嚬閸撴盯鎳為柆宥嗗殤妞ゆ帒鍊块埞蹇涙⒑閸濆嫬鏆婇柛瀣尵缁辨帗寰勭仦钘夊箣濡ょ姷鍋樼欢姘躲€佸☉銏犖ч柛銉㈡櫓濡茬兘姊绘担鍛婅础妞わ絼绮欏畷鎴﹀箻鐡掍礁缍婇幃鈺咁敊閻撳骸袚缂傚倷鑳剁划顖炴偋閻樿钃熼悘鐐垫櫕閺嗗棝鏌涢幇顔间壕闁活厽顨婂娲倻閳轰椒澹曢梺鍛婃煥閻倿鐛崱妯肩瘈闁搞儯鍔屾禒銏ゆ⒑鐠恒劌娅愰柟鍑ゆ嫹
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>瑕迄<EFBFBD>?嚚墧噤戭?<3F>脣迄<E884A3>船<EFBFBD>蝥曉<E89DA5>撘園㪗<E59C92>?鈭硋迄皛<E8BF84><E79A9B><EFBFBD>䎚<EFBFBD><E48E9A>日<EFBFBD>瘨瞾<E798A8>
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>琿<EFBFBD>儮<EFBFBD><EFBFBD>銴唳<EFBFBD><EFBFBD><EFBFBD>遝<EFBFBD>墧<EFBFBD>瘚𦦵麯<EFBFBD>輻冨<EFBFBD>寧<EFBFBD>憍蛔<EFBFBD>瑹閖<EFBFBD><EFBFBD>?撟㘾縝瞈𣂷遞<F0A382B7><E9819E>暑<EFBFBD>賡”<E8B3A1>𥕦朴<F0A595A6>𤩂<EFBFBD><F0A4A982><EFBFBD><EFBFBD>萄豆<E89084>?<3F>日<EFBFBD>雿豢<E99BBF><E8B1A2>梢䲮<E6A2A2>𠰴<EFBFBD>撖?憍𡁏<E6868D><F0A1818F>枏漆<E69E8F>喲<EFBFBD><E596B2>?<3F>日崕<E697A5>?<3F>冽鐦<E586BD>血<EFBFBD>瞈惩<E79E88>憳?蝏嗆䰻<E59786><E4B0BB>忖雿孵鬼<E5ADB5>鳴<EFBFBD><E9B3B4>脤‵瞈<E280B5><E79E88><EFBFBD>誩<EFBFBD><E8AAA9>㯄<EFBFBD>雿詨?𢠃<><F0A2A083>亙敦<E4BA99>澾<EFBFBD><E6BEBE>賣中<E8B3A3>嗅<EFBFBD>蝏𣳇<E89D8F><F0A3B387>烾錬<E783BE>餉?<3F><>瞈删㩞憪?<3F>𧢲𣖕<F0A7A2B2><F0A39695><EFBFBD><EFBFBD>?蝷<><E89DB7><EFBFBD><EFBFBD><EFBFBD>琿<EFBFBD>儮<EFBFBD><E584AE>銴唳<E98AB4>蝷厩<E89DB7>嫖<EFBFBD><E5AB96>抆<EFBFBD><E68A86><EFBFBD>憿雴螂<E99BB4>?<3F>豢𣖕<E8B1A2>?<3F>喟<EFBFBD><E5969F><EFBFBD>?亙<>畾文?𠺶<>撣㘾<E692A3><E398BE>堒<EFBFBD>頩<EFBFBD><E9A0A9><EFBFBD>煾鴡瞈<E9B4A1>??<3F><><EFBFBD><EFBFBD>𤤿<EFBFBD><F0A4A4BF><EFBFBD>撠萇<E692A0>颲典<E9A2B2>撖啣𤅷隞阡<E99A9E>憭羓?<3F>縑<EFBFBD><E7B891>孚<EFBFBD>𧢲?潭?W?䁅熔<E48185>?雿詹<E99BBF><E8A9B9>讐<EFBFBD><E8AE90><EFBFBD>偦<EFBFBD><E581A6>⊥<EFBFBD>瞈∟嬕<E2889F>睃?羓<><E7BE93><EFBFBD><EFBFBD>憍<EFBFBD>?<3F>憒𠺶<E68692>蝯潛赫甈讐𩑈<E8AE90>湛<EFBFBD>蝞駁𠴱<E9A781>滨?<3F><>憍<EFBFBD><E6868D><EFBFBD>箏<EFBFBD><E7AE8F>𢠃鸘<F0A2A083>喲?貉?𡁶<><F0A181B6>𡁜<EFBFBD>琿㭠<E790BF><E3ADA0><EFBFBD>憿𣇉<E686BF><F0A38789>钅鸘璅遴𣇪<E981B4><F0A387AA><EFBFBD><EFBFBD>㗛<EFBFBD><E3979B>?瑹閖𤄄<E99696>埈?嗪<>瘨W<E798A8>憿娪𡢿憯閖<E686AF>瘣餃罁憿典<E686BF><E585B8>誩迆<E8AAA9><E8BF86><EFBFBD>駁鯏頧唳?埝器<E59F9D>XⅡ<EFBCB8>𥕦<EFBFBD><F0A595A6>仿鸘<E4BBBF>𧼮<EFBFBD>輸<EFBFBD><E8BCB8><EFBFBD>撏勗旬<E58B97>拍<EFBFBD><E68B8D><EFBFBD><EFBFBD><EFBFBD>?<3F>𥪜掛蝳㘾<E89DB3><E398BE><EFBFBD><EFBFBD><EFBFBD>䭾<EFBFBD><E4ADBE><EFBFBD><EFBFBD><EFBFBD>唳<EFBFBD><E594B3>㻫<EFBFBD>憳?
|
||||
int cnt = 0;
|
||||
while (1) {
|
||||
// 闂備浇宕垫慨鎶芥倿閿曞倸纾块柟鎯板Г閸嬧晝绱撳鍥骏meOut闂傚倷绀侀幖顐﹀疮椤愶附鍋夐柣鎾冲濞戙垹閿ゆ俊銈勭劍濞呮牠鎮楅崗澶婁壕闂佸憡鍔︽禍鐐侯敊閹邦兘鏀介柣鎰级椤ユ垿鏌涢幘瀵哥畺闁哄懎鐖奸幃鈺冩嫚閹绘帒鎸ゆ俊鐐€栭悧妤冨垝瀹ュ鏄ラ柛灞剧⊕閸欏繑绻濋崹顐e暗缂佸鍓熼弻鐔兼儌閸濄儳蓱闂佺懓鍢查幊搴ㄣ偑娴兼潙宸濇い鏃囧Г椤撳綊姊绘担瑙勩仧闁绘挸顦甸獮蹇涙晸閿燂拷
|
||||
// <EFBFBD><EFBFBD><EFBFBD>瘚<EFBFBD><EFBFBD><EFBFBD>?<3F>券𦅚<E588B8>亙<EFBFBD>輸𪃭<E8BCB8>𧼮<EFBFBD>貊瑣<E8B28A>埈<EFBFBD><E59F88>?<3F>諱㯄鴡戭扳<E688AD>蝏望湶<E69C9B>潮摚<E6BDAE>㘾<EFBFBD>meOut<75><74><EFBFBD><EFBFBD>瑞<EFBFBD>靘<EFBFBD>撟㚚?琜<><E7909C>?璊斗<E7928A><E69697><EFBFBD><EFBFBD>憭鞉鰊<E99E89>曉<EFBFBD><E69B89><EFBFBD><EFBFBD><EFBFBD>坔㧜<E59D94>踴<EFBFBD>靽𢠃<E99DBD><F0A2A083>?<3F>齿<EFBFBD><E9BDBF>?<3F>𣳇緤璆<E7B7A4><E79286>瞉嗅<E79E89>憯閖<E686AF>雿豢<E99BBF><E8B1A2>䈑蜇蝳漤<E89DB3>靘?<3F>𢠃䲮<F0A2A083>血<EFBFBD><E8A180><EFBFBD>隞𧢲鰊<F0A7A2B2>堊<EFBFBD>蝥扳中<E689B3>血舭<E8A180>峕閒撟条<E6929F>萄𢬢<E89084>粹<EFBFBD><E7B2B9><EFBFBD><EFBFBD><EFBFBD>硋斥撟<E696A5><E6929F><EFBFBD>拙<EFBFBD><E68B99>寧<EFBFBD>撣㘾纒<E398BE><E7BA92><EFBFBD><EFBFBD>韮<EFBFBD><E99FAE>?<3F>?<3F>批忖<E689B9>典<EFBFBD><E585B8>嫘<EFBFBD><E5AB98>?<3F><><EFBFBD><EFBFBD>𤤿<EFBFBD><F0A4A4BF>把<EFBFBD><E68A8A>豢<EFBFBD>蝜𤑳遙瞈见晶憿琜<E686BF><E7909C>㛖<EFBFBD>雿賃𧬘<E8B383>梶<EFBFBD>撘駁<E69298><E9A781>澆<EFBFBD><E6BE86>豢<EFBFBD><E8B1A2>唾𢲡<E594BE><F0A2B2A1>蝶<EFBFBD>㯄揢<E3AF84>亙<EFBFBD><E4BA99>氬<EFBFBD><E6B0AC>穃迄<E7A983>潭<EFBFBD>摰豢<E691B0><E8B1A2><EFBFBD><EFBFBD><EFBFBD>?<3F>璊斗湶蝬𠰴?羓<><E7BE93><EFBFBD><EFBFBD><EFBFBD>拐誧<E68B90><E8AAA7><EFBFBD><EFBFBD>賊’<E8B38A>貊旿頩<E697BF><E9A0A9><EFBFBD>賊𪃭<E8B38A><F0AA83AD>鼧
|
||||
FD_ZERO(&readfds);
|
||||
FD_SET(sockfd, &readfds);
|
||||
maxfds = sockfd + 1;
|
||||
@ -1823,7 +1686,7 @@ int Ping(const char *ips, int timeout) {
|
||||
break;
|
||||
}
|
||||
|
||||
// 闂傚倷娴囬~澶嬬娴犲纾块弶鍫亖娴滃綊鏌ㄩ悤鍌涘
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>瑕迄<EFBFBD>?嚚墧噤戭?<3F>脣迄<E884A3>船<EFBFBD>蝥曉<E89DA5>撘園㪗<E59C92>?鈭硋迄皛<E8BF84><E79A9B><EFBFBD>䎚<EFBFBD><E48E9A>日<EFBFBD>瘨瞾<E798A8>
|
||||
memset(recvpacket, 0, sizeof(recvpacket));
|
||||
int fromlen = sizeof(from);
|
||||
n = recvfrom(sockfd, recvpacket, sizeof(recvpacket), 0, (struct sockaddr *)&from, (socklen_t *)&fromlen);
|
||||
@ -1835,7 +1698,7 @@ int Ping(const char *ips, int timeout) {
|
||||
}
|
||||
|
||||
char *from_ip = (char *)inet_ntoa(from.sin_addr);
|
||||
// 闂傚倷绀侀幉锛勬暜閸ヮ剙纾归柡宥庡幖閽冪喖鏌涢妷顔煎闁告瑥锕ラ妵鍕冀閵娧屾殹闂佺ǹ楠搁敃顏堝蓟閿熺姴绀嬮梻鍫熺〒娴犳挳姊洪幖鐐测偓鏍垝瀹€鍕垫晩闊洦绋掗崕搴€亜閿曗偓缁辨闂傚倷鐒﹂惇褰掑礉瀹€鈧埀顒佸嚬閸撴瑧鍙呴梺鍝勭Р閸斿瞼娆㈤悙鐑樼叆闁绘洖鍊圭€氾拷
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>瑞<EFBFBD>靘<EFBFBD>撟厰<EFBFBD><EFBFBD>?<3F>𣈯鴡<F0A388AF>?<3F>嗵瑣敶埝椬摰亙滿撟㚚鴌<E39A9A>?<3F>㚚<EFBFBD>瘨W朵憿𠉛<E686BF><F0A0899B>拚<EFBFBD><E68B9A>羓𡤻<E7BE93>𨰻<EFBFBD>憒菟<E68692><E88F9F>𡁜<EFBFBD><F0A1819C>萄豆撅暹?寥<>雿瘉寞?䭾<><E4ADBE><EFBFBD>?誩<><E8AAA9>罸𪃭<E7BDB8>箏妥蝏<E5A6A5>戭?璇駁㪗<E9A781>箝<EFBFBD>鍦迄<E98DA6>單糃憪𦠜揪撟㚚<E6929F>瘚见<E7989A><E8A781>澾<EFBFBD><E6BEBE>萘<EFBFBD>嫖<EFBFBD><E5AB96>訫𠿭<E8A8AB>拚<EFBFBD><E68B9A>X揭蝏𧢲<E89D8F>撏閙鐦<E99699>?鈭𣈯𪃭<F0A388AF>堒<EFBFBD>蝻<EFBFBD>儘<EFBFBD>𡁻<EFBFBD><F0A181BB>𡁜<EFBFBD>琿<EFBFBD>儮<EFBFBD><E584AE>銴唳<E98AB4>蝷厩<E89DB7>嫖<EFBFBD><E5AB96>抆<EFBFBD><E68A86><EFBFBD>憿雴螂<E99BB4>?<3F>豢𣖕<E8B1A2>折<EFBFBD><E68A98>湔Ⅱ<E6B994>嘥𤅷<E598A5><F0A485B7>豢𪃭<E8B1A2>澆<EFBFBD><E6BE86>斗<EFBFBD><E69697>烐?澆<><E6BE86><EFBFBD><EFBFBD>瘣㚚<E798A3><E39A9A>?<3F>?瘞暹鼧
|
||||
if (strcmp(from_ip, ips) != 0) {
|
||||
zlog_info(zct, "NowPingip:%s Fromip:%s NowPingip is not same to Fromip,so ping wrong!", ips, from_ip);
|
||||
close(sockfd);
|
||||
@ -1847,14 +1710,14 @@ int Ping(const char *ips, int timeout) {
|
||||
icmp = (struct icmp *)(recvpacket + (iph->ip_hl << 2));
|
||||
|
||||
zlog_info(zct, "ip:%s,icmp->icmp_type:%d,icmp->icmp_id:%d\n", ips, icmp->icmp_type, icmp->icmp_id);
|
||||
// 闂傚倷绀侀幉锛勬暜閸ヮ剙纾归柡宥庡幖閽冪喖鏌涢姀陇鎶梟g闂傚倷鐒﹂幃鍫曞磿閹惰棄纾绘繛鎴旀嚍閸ヮ剙钃熼柕澶堝劤椤﹂亶姊洪崨濠佺繁闁搞劑浜堕幃楣冩焼瀹ュ棛鍘藉┑鈽嗗灠閻忔繈鎮¢幇鐗堢厓鐟滄粓宕滈妸鈺佺闁跨噦鎷<EFBFBD>
|
||||
if (icmp->icmp_type == ICMP_ECHOREPLY && icmp->icmp_id == pid) // ICMP_ECHOREPLY闂傚倷鐒﹂幃鍫曞磿閹惰棄纾婚柣鎰棘閻旂ǹ绶為悗锝庡亜閸斿懘姊洪崫鍕殭闁稿﹤顭烽獮妤呮晸閿燂拷
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>瑞<EFBFBD>靘<EFBFBD>撟厰<EFBFBD><EFBFBD>?<3F>𣈯鴡<F0A388AF>?<3F>嗵瑣敶埝椬摰亙滿撟㚚鴌<E39A9A>?<3F>㚚<EFBFBD>瘨W?<3F><><EFBFBD>𦅚璇鰛<E79287><E9B09B><EFBFBD><EFBFBD>琿<EFBFBD>儮<EFBFBD><E584AE><EFBFBD>?<3F>䂿ˋ<E482BF>寞<EFBFBD>璉<EFBFBD>瑣蝏条<E89D8F><E69DA1>湔<EFBFBD><E6B994>漤鴡<E6BCA4>?<3F>䠷<EFBFBD><E4A0B7>潭<EFBFBD>瞉嗅<E79E89><E59785>斗中儮<E4B8AD>熄憪𦠜揪撏冽<E6928F>雿箇<E99BBF><E7AE87><EFBFBD><EFBFBD><EFBFBD>烐<EFBFBD><E78390>訫<EFBFBD>璆<EFBFBD><E79286><EFBFBD>潛<EFBFBD>嫘<EFBFBD>璉偦<E79289><E581A6>争<EFBFBD><E4BA89>賢<EFBFBD><E8B3A2>𣳇鸘敹𠉛<E695B9><F0A0899B>?嚙惩<E59A99><E683A9>堒𨯂<E5A092>㯄<EFBFBD>皛<EFBFBD><E79A9B>摰閙<E691B0>憒賊<E68692>雿綜<E99BBF><E7B69C><EFBFBD>楊<EFBFBD>阡繮嚙?
|
||||
if (icmp->icmp_type == ICMP_ECHOREPLY && icmp->icmp_id == pid) // ICMP_ECHOREPLY<EFBFBD><EFBFBD><EFBFBD><EFBFBD>琿<EFBFBD>儮<EFBFBD><EFBFBD><EFBFBD>?<3F>䂿ˋ<E482BF>寞<EFBFBD>璉<EFBFBD>瑣憍𡁏鰊<F0A1818F>堊<EFBFBD>璉㗛鸘<E3979B><E9B898>寧辣<E5AFA7>箸<EFBFBD><E7AEB8>嘥滿鈭𣈯鴡<F0A388AF>踵<EFBFBD>憪𦠜揪撏?<3F>𤩂<EFBFBD>畾?<3F><>?選馱憿?<3F>賜旿憒文䴴<E69687>賊𪃭<E8B38A><F0AA83AD>鼧
|
||||
{
|
||||
// 濠电姵顔栭崰妤冩崲閹邦喖绶ゅù鐘差儐閸嬪鏌涢幘鍙夘樂闁绘帒锕娲敆閳ь剛绮旈鈧畷鎴﹀箻鐠囪尙鍔﹀銈嗗笒鐎氼剛绮堥崟顖涚厱婵犻潧妫楅顏堟煕鎼淬垺绀嬮柡宀嬬到楗即骞囬鐑嗕紦
|
||||
// 瞈删㩞憪菟?娍<>撏啣忖<E595A3>拙散<E68B99>寥<EFBFBD><E5AFA5>𣇉辣<F0A38789><E8BEA3>寥<EFBFBD>撌?<3F>鞾鴡戭?<3F>菟<EFBFBD>瘨W<E798A8><EFBCB7>坔?䀹<><E480B9><EFBFBD><EFBFBD>撣㘾<E692A3><E398BE><EFBFBD><EFBFBD>憡船<E686A1><E888B9><EFBFBD>鯏<EFBFBD><E9AF8F>𤤿赫<F0A4A4BF><E8B5AB><EFBFBD><EFBFBD>抆<EFBFBD><E68A86>琿縝儮<E7B89D>蝞駁<E89D9E><E9A781>?撠䠷<E692A0>儮<EFBFBD><E584AE><EFBFBD><EFBFBD><EFBFBD>㛖<EFBFBD><E39B96>擧側<E693A7>𤤿赫<F0A4A4BF>亙<EFBFBD>憿𡝗<E686BF><F0A19D97>勗延<E58B97>餅膚憒?璆<><E79286>憿誩<E686BF><E8AAA9>閖罀瘛?<3F>箇<EFBFBD>戭?<3F>∪<EFBFBD>戭?<3F>唳?𢎽<><F0A28EBD>喲<EFBFBD><E596B2>?<3F>㗛<EFBFBD><E3979B>閧揭
|
||||
zlog_info(zct, "icmp succecss ............. \n");
|
||||
break;
|
||||
} else if (cnt < 3) {
|
||||
// 闂傚倷绀侀幉锟犳偄椤掑倻涓嶉柟杈剧畱閸ㄥ倹銇勯弽銊х煂缁炬崘鍋愰幉姝岀疀濞戞瑥浠洪梺鐓庮潟閸婃銇欓幎鑺ョ叆闁绘洖鍊圭€氾拷
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>瑞<EFBFBD>靘<EFBFBD>撟厰<EFBFBD><EFBFBD>喳<EFBFBD>璊斗<EFBFBD><EFBFBD>餅<EFBFBD>撊㗇<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>梢鴡<EFBFBD>亙<EFBFBD>寥<EFBFBD><EFBFBD>?撘賡<E69298><E8B3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?撏㗛<E6928F><E3979B>啣<EFBFBD>憪嘥<E686AA><E598A5><EFBFBD>瞈墧<E79E88><E5A2A7>交<EFBFBD>瘣?璇粹<E79287>摨?瞏罸鴡憍<E9B4A1><E6868D><EFBFBD><EFBFBD><EFBFBD>撟𡡞鼈<F0A1A19E>批<EFBFBD><E689B9><EFBFBD><EFBFBD>瘣㚚<E798A3><E39A9A>?<3F>?瘞暹鼧
|
||||
cnt++;
|
||||
continue;
|
||||
} else {
|
||||
@ -1886,41 +1749,41 @@ int get_netlink_status(const char *if_name) {
|
||||
return edata.data;
|
||||
}
|
||||
|
||||
// 闂備浇顕х换鎰崲閹邦儵娑樷槈濞嗘劖鐝峰┑掳鍊曢幊搴b偓姘槹閵囧嫰骞掗崱妞惧闁荤喐绮嶆刊钘夆枖閺囥垹鐒垫い鎺嶈兌閳洘銇勯妸銉уⅵ妞ゃ垺鐗楅幏鍛村捶椤撴稒鐏冮梻浣告啞閻熴儵藝椤栫儐鏁侀柡鍥ュ灪閻撴洟鏌熼悜妯虹仸妞ゃ儲鐟╅幃褰掑箛椤斿吋鐏堥悗娈垮櫘閸嬪棝鍩€椤掍胶鈯曢拑杈ㄧ箾閸繂顣崇紒杈ㄦ尰閹峰懐绮欏▎鍙ョ棯闂備焦鎮堕崝宥呯暆閹间礁绠氶柛鎰靛枛缁€瀣亜閹板墎鍒伴柍褜鍓欓…宄邦潖閾忚瀚氱憸搴b偓姘炬嫹
|
||||
// <EFBFBD><EFBFBD><EFBFBD>瘚<EFBFBD>?䢛<>揢<EFBFBD>堊<EFBFBD>撏脤䲮<E884A4>血<EFBFBD>憡烐邢瑽<E982A2><E791BD><EFBFBD>睃<EFBFBD><E79D83>嘥陸<E598A5>烐𨍭<E78390>𦠜𣪧撟𦠜鐦嚚<E990A6><E59A9A>憪瞾<E686AA>瑽寥鮟<E5AFA5>批?圈<><E59C88>堒敢憒墧<E68692><E5A2A7>𡁻<EFBFBD><F0A181BB>文<EFBFBD>蝏?撊<><E6928A><EFBFBD>睃?<3F><><EFBFBD>箏𣸑<E7AE8F>寥<EFBFBD><E5AFA5>?<3F><>鑬撊<E991AC><E6928A><EFBFBD>啾<EFBFBD>瘣㗛<E798A3><E3979B>?憒賊<E68692><E8B38A><EFBFBD>萄?𠺶<><F0A0BAB6>粹<EFBFBD>璆<EFBFBD><E79286><EFBFBD>𥟇<EFBFBD><F0A59F87>嗆中<E59786>渡<EFBFBD><E6B8A1>誩<EFBFBD>璇餅童<E9A485>𠰴<EFBFBD><F0A0B0B4>餌<EFBFBD><E9A48C>菔<EFBFBD>璊斗𠼻<E69697>鞾<EFBFBD>靘<EFBFBD><E99D98>⊿摚<E28ABF>亦<EFBFBD><E4BAA6>餅𣖕瘣罸<E798A3><E7BDB8>潭<EFBFBD>憒?<3F>嫣遘憒𠺶<E68692><F0A0BAB6>脤<EFBFBD><E884A4><EFBFBD><EFBFBD>銴唳<E98AB4>蝞𥟇中<F0A59F87>踹<EFBFBD><E8B8B9>誩<EFBFBD><E8AAA9>堒<EFBFBD><E5A092>?瑹㗛鴡戭?璉嗪嘡<E597AA>?璊斗<E7928A><E69697>園<EFBFBD><E59C92>X<EFBFBD><EFBCB8><EFBFBD><EFBFBD>蝞暸鴡<E69AB8><E9B4A1><EFBFBD>憿<EFBFBD><E686BF>蝝埝<E89D9D><E59F9D>血偽<E8A180>孵陸<E5ADB5>鞟赫甈謿<E79488><E8ACBF>踺<EFBFBD>璉?<3F><><EFBFBD><EFBFBD>阡緤<E998A1>訫<EFBFBD>摰亙麪<E4BA99><E9BAAA>䲮<EFBFBD>渡?<3F><>瘞嗆<E7989E><E59786>圈<EFBFBD><E59C88>𤤿<EFBFBD><F0A4A4BF>?<3F><><EFBFBD>鈭𣈯䲮<F0A388AF>踹?𡡞<>隡湔<E99AA1>銴𣈯<E98AB4>甈𣏾<E79488>血<EFBFBD><E8A180>行<EFBFBD><E8A18C>曉<EFBFBD><E69B89>厩<EFBFBD>𡁏停<F0A1818F>豢鐦嚚<E990A6><E59A9A>憪条<E686AA>憳?
|
||||
std::vector<int> splitVersion(const std::string &version) {
|
||||
std::vector<int> parts;
|
||||
std::stringstream ss(version);
|
||||
std::string part;
|
||||
|
||||
// 闂傚倷鑳堕崕鐢稿磻閹捐绀夐幖娣妼绾惧鏌ㄥ┑鍡橆棡濠殿垰鐡ㄧ换婵囩箾閹傚闂佽崵濮甸崝妤呭窗閺嵮呮殾婵ǹ娉涢獮銏$箾閹寸偟鎳愰柛姘焽缁辨挻鎷呯拠鈩冾吅闁荤姳绶ょ徊鍨i幇顑芥斀閻庯綆浜為ˇ顐︽⒑缁洖澧叉い銊ユ嚇钘熼煫鍥ㄧ⊕閻撶喐淇婇妶鍌氫壕闂佺粯顨呴敃銈夋晝閵忊€愁嚤闁哄鍨归悡鎴︽⒑鐠恒劌娅愰柟鍑ゆ嫹
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>琿㭠<EFBFBD>訫<EFBFBD><EFBFBD>Y?輻˙<E8BCBB>寞<EFBFBD><E5AF9E>抒<EFBFBD>憭𣂼<E686AD>憡<EFBFBD><E686A1>憒潛遝<E6BD9B>抆嘑<E68A86>䎚<EFBFBD><E48E9A>煾㨃璈<E3A883>ㄐ瞈䭾?踹纎<E8B8B9>~<EFBFBD><EFBD9E>W延<EFBCB7>拍?暸䲮<E69AB8><E4B2AE><EFBFBD><EFBFBD>𡁻<EFBFBD>雿賢斯瞈?<3F>詨<EFBFBD>憒文麢蝒烾𤄄撋?<3F>?畾曉延<E69B89>褒孵<E8A492>瘨Y旿<EFBCB9>𧶏<EFBFBD>蝞暸䲮撖詨<E69296><E8A9A8>單<EFBFBD><E596AE>𥕦?瞾<><E79EBE>賜<EFBFBD>颲冽龫<E586BD>瑕麪<E79195>𣳇⏚<F0A3B387>曉<EFBFBD><E69B89><EFBFBD>搇憪喟辣<E5969F><E8BEA3><EFBFBD><EFBFBD>?<3F>伐<EFBFBD>撟<EFBFBD>?𤏸𥁒<F0A48FB8><F0A58192><EFBFBD>餃滲蝬<E6BBB2><E89DAC><EFBFBD>瞄<EFBFBD>?琜蜇<E7909C>𤑳<EFBFBD><F0A491B3>𥟇<EFBFBD>瞉批<E79E89><E689B9><EFBFBD><EFBFBD><EFBFBD>血<EFBFBD><E8A180>条<EFBFBD><E69DA1>?<3F>乓<EFBFBD><E4B993>閖鸘<E99696>嗅<EFBFBD>瘛<EFBFBD><E7989B>憒園<E68692>瘞?憯閖<E686AF>雿箇盔憿典㧥<E585B8><E3A7A5><EFBFBD>憭𧢲<E686AD><F0A7A2B2>萄<EFBFBD><E89084>?<3F><>鶽<EFBFBD><E9B6BD><EFBFBD><EFBFBD>圈崕敶埝<E695B6><E59F9D>湛蜇<E6B99B>煾<EFBFBD><E785BE>鍦<EFBFBD>憡<EFBFBD><E686A1><EFBFBD>罸<EFBFBD><E7BDB8><EFBFBD>??
|
||||
while (std::getline(ss, part, '.')) {
|
||||
parts.push_back(std::stoi(part)); // 闂備浇顕х换鎰崲閹邦儵娑樜旈崨顓炵€柟鍏肩暘閸斿瞼绮堥崼銉︾厵缂備焦锚缁楁岸鏌涙繝鍕毈闁哄矉缍佹俊鎼佸Ψ閵夘喕绱旈梻浣呵圭€涒晠骞愰崘鑼殾婵ǹ娉涢獮銏℃叏濮楀棗骞橀柕鍫櫍濮婅櫣娑甸崪浣告異濠电姭鎳囬崑鎾绘煟閻樺啿濮夐柛鐘崇墪椤曪綁顢曢妶鍌氫壕婵炴垶顏伴幋婵冩灁闁跨噦鎷<EFBFBD>
|
||||
parts.push_back(std::stoi(part)); // <EFBFBD><EFBFBD><EFBFBD>瘚<EFBFBD>?䢛<>揢<EFBFBD>堊<EFBFBD>撏脤䲮<E884A4>血<EFBFBD>憡烐?𨀣<>撏券?梶<><E6A2B6>?<3F>X<EFBFBD><EFBCB8>讛<EFBFBD><E8AE9B>㗛鴡<E3979B>輻𤘘蝏?<3F>亙智<E4BA99>㚁蜀<E39A81>萇<EFBFBD><E89087>嗵<EFBFBD><E597B5>𡁶<EFBFBD>璆<EFBFBD>硫<EFBFBD>峕<EFBFBD>蝜嗪<E89D9C><E597AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>厩<EFBFBD>雿嫣<E99BBF><E5ABA3>潔螂峔<E89E82>萄?睃<>蝏望<E89D8F>璇餅童<E9A485>萄𤧐<E89084>?瘨埝<E798A8>撉墧<E69289>撏㗛鐤<E3979B><E990A4>?曉延<E69B89>褒孵<E8A492>瘨Y旿<EFBCB9>謿<EFBFBD><E8ACBF>𤩺耨璆<E880A8>璉烾<E79289>璈<EFBFBD><E79288>閖㪗<E99696>X<EFBFBD>瞈?憍<>?<3F><><EFBFBD>詨揪瘚<E68FAA><E7989A><EFBFBD>唳<EFBFBD><E594B3>萄妣<E89084>喳𨪚撏煾罇蝏条<E89D8F><E69DA1>餅那<E9A485>踵耨憭鞉<E686AD><E99E89>睃<EFBFBD>憓?璊斗䪸蝬<E4AAB8>﹜<EFBFBD>W朱<EFBCB7>峕鬥憯訫延<E8A8AB>游沲憿譍撈撟见延<E8A781>拍<EFBFBD><E68B8D><EFBFBD>楊<EFBFBD>阡繮嚙?
|
||||
}
|
||||
|
||||
return parts;
|
||||
}
|
||||
|
||||
// 濠电姵顔栭崳顖滃緤閹灛娑欐媴閻戞﹩鍋ㄥ┑鐘绘涧濞层劑鍩㈤弮鍫熺厪闁割偅绻傞顓㈡煕閵堝拋鍎旈柡宀嬬到铻栭柍褜鍓熼幃褎绻濋崒锕佲偓鍨归崗鍏肩稇闁活厽顨婇弻銊╂偆閸屾稑顏<EFBFBD>
|
||||
// 瞈删㩞憪菟?娍<>撏喲?𡝗<>蝺日䲮<E697A5><E4B2AE><EFBFBD>憡烐<E686A1>慦湧鸘<E6B9A7>痹鼎<E797B9>卝<EFBFBD><E58D9D>煾<EFBFBD>蝏䀹陽瞈𧼮<E79E88><F0A7BCAE>煾嘡<E785BE>文戮<E69687>?<3F>箏綳<E7AE8F><E7B6B3>𠧧<EFBFBD><F0A0A7A7>遙<EFBFBD>䳡<EFBFBD>憿瓐ǜ<E79390>閖鮟<E99696>脲<EFBFBD><E884B2>擧<EFBFBD><E693A7>∪<EFBFBD>戭?<3F>圈𣋠<E59C88>?<3F>滩?𣈯<><F0A388AF>澆<EFBFBD>銴𡒊遙瞈见<E79E88><E8A781>蓥蔡<E893A5>㯄崕<E3AF84>𡁜<EFBFBD>撏烾<E6928F><E783BE>拍<EFBFBD><E68B8D><EFBFBD>暑<EFBFBD>賡”憍<E2809D>撒<EFBFBD>𪙛<EFBFBD><F0AA999B><EFBFBD>鴡撅曄<E69285>憿𧶏蕭
|
||||
int compareVersions(const std::string &version1, const std::string &version2) {
|
||||
std::vector<int> v1 = splitVersion(version1);
|
||||
std::vector<int> v2 = splitVersion(version2);
|
||||
|
||||
// 闂傚倷鑳堕幊鎾绘倶濮樿泛纾块柟鎯版閺勩儳鈧厜鍋撻柛鏇ㄥ亜閻濇﹢姊洪柅鐐茶嫰婢у瓨鎱ㄦ繝鍌涜础闁圭懓瀚版俊鎼佹晜閻愵剚顔忛梻鍌欒兌缁垶銆冮崨瀛樺亱濠电姴鍋婇懓鍨归崗鍏肩稇闁活厽顨婇弻锝夊箣閿濆棭妫勯梺鍛婃煟閸庣敻寮诲☉銏犵闁瑰鍎愬Λ锕傛⒑閸濆嫭顥″瀛樻倐楠炲棝寮崼鐔告闂佽法鍣﹂幏锟<EFBFBD>
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>琿㭠<EFBFBD>訫<EFBFBD><EFBFBD>曄<EFBFBD><EFBFBD>嗆耨璅踵<EFBFBD>蝥曉<EFBFBD><EFBFBD>罸㴓<EFBFBD><EFBFBD><EFBFBD><EFBFBD>箏𥋘<EFBFBD>喲ê<EFBFBD><EFBFBD><EFBFBD>𣈯<EFBFBD><EFBFBD>餅<EFBFBD><EFBFBD><EFBFBD><EFBFBD>鈭𣈯鸘瞈<EFBFBD>飾憪𦠜揪<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嗅?啣?C<>𢹸<EFBFBD>晞<EFBFBD>蝜嗪<E89D9C>瘨𦦵?<3F><><EFBFBD>𤧐<EFBFBD>梶<EFBFBD>𡁶<EFBFBD>靽𢠃罀雿寞<E99BBF><E5AF9E>餅<EFBFBD><E9A485>𡁻?𥪜<>璇駁<E79287>甈鍦<E79488>蝻<EFBFBD><E89DBB><EFBFBD>園<EFBFBD><E59C92>?撏函<E6928F>𥟇那鈭望<E988AD><E69C9B>萄妥<E89084>见<EFBFBD><E8A781>㯄崕<E3AF84>𡁜<EFBFBD>撏烾<E6928F><E783BE>拍<EFBFBD><E68B8D><EFBFBD>暑<EFBFBD>賡”憍<E2809D>撒<EFBFBD>嘥?羓?<3F>𪃭瞈<F0AA83AD>ㄜ憒?<3F>?璇粹<E79287>憍<EFBFBD><E6868D><EFBFBD>詨漆<E8A9A8>餃??霂聆<E99C82><E88186>讐𠽌<E8AE90>𢠃<EFBFBD><F0A2A083>堊鐯<E5A08A>擧<EFBFBD><E693A7><EFBFBD>訫<EFBFBD><E8A8AB>煾鴡瞈<E9B4A1>??憿乒<E686BF>啾<EFBFBD><E595BE>𥟇酉<F0A59F87>鞉?删<>璉嘥??<3F><>撏潮<E6928F><E6BDAE>𠾍<EFBFBD><F0A0BE8D><EFBFBD>蝸瘜閖揻儮<E68FBB><E584AE><EFBFBD><EFBFBD>蕭
|
||||
size_t maxLength = std::max(v1.size(), v2.size());
|
||||
|
||||
for (size_t i = 0; i < maxLength; ++i) {
|
||||
int num1 = i < v1.size() ? v1[i] : 0; // 婵犵數濮烽。浠嬪焵椤掆偓閸熷潡鍩€椤掆偓缂嶅﹪骞冨Ο璇茬窞闁归偊鍓濋幗鏇㈡⒑閸︻厼顣兼繝銏★耿瀹曟繈濡烽埡鍌滃幈闂佸湱鍎ら崹鍫曀夊▎鎴犵<婵°倐鍋撴い锕備憾閸┾偓妞ゆ帊鑳堕埊鏇㈡煥濮橆厾绡€闁逞屽墴椤㈡棃宕奸悢鍛婄彨闁诲骸鍘滈崑鎾绘煕閹邦喖浜剧紓宥咃攻缁绘盯骞嬮悙瀛樺創闂佺懓鍤栭幏锟<EFBFBD>0
|
||||
int num1 = i < v1.size() ? v1[i] : 0; // 憍萇𠽌<EFBFBD>豢耨<EFBFBD>賬<EFBFBD><EFBFBD><EFBFBD>戭?<3F>菜中<E88F9C><E4B8AD><EFBFBD><EFBFBD>貊<EFBFBD>瞏⊿嘡<E28ABF>?璊斗<E7928A><E69697>梶<EFBFBD>撊<EFBFBD>鼓撉𧼮<E69289><F0A7BCAE><EFBFBD><EFBFBD>嬕蝒鮋<E89D92>敶鍦<E695B6><E98DA6>𤘪<EFBFBD>撟烾<E6929F><E783BE>﹦<EFBFBD><EFB9A6>賂蜓<E8B382>潮﹝<E6BDAE>潛<EFBFBD><E6BD9B>謿<EFBFBD><E8ACBF>輻<EFBFBD>寞<EFBFBD>蝜<EFBFBD>縑<EFBFBD>賢椬<E8B3A2>峕<EFBFBD>撟<EFBFBD><E6929F>雿豢僚<E8B1A2>汿<EFBFBD>撏寥㪗<E5AFA5><E3AA97>憭𪙛<E686AD><F0AA999B>渡𠽌嚗𨅯延簞<E5BBB6>鞾<EFBFBD><E99EBE>氬<EFBFBD><E6B0AC>訫<EFBFBD><E8A8AB>暸鴡<E69AB8>曉<EFBFBD>憒𠺶<E68692>撣𢠃㭠<F0A2A083>訫<EFBFBD><E8A8AB><EFBFBD>ǜ<EFBFBD>交耨璈<E880A8>罇蝏﹦<E89D8F><EFB9A6><EFBFBD><EFBFBD>𧼮掃憓湔中<E6B994>⊥?<3F><>憟豢<E6869F><E8B1A2>𥕦<EFBFBD>敶券<E695B6>霂脤?賊<>皛<EFBFBD><E79A9B><EFBFBD>曄<EFBFBD><E69B84>閖䲮<E99696>血<EFBFBD>瘚𨅯<E7989A>蝝枏?亙<><E4BA99>餌<EFBFBD>蝏条𤀻撉𧼮??<3F>嗵<EFBFBD>𥟇那<F0A59F87>菟<EFBFBD>雿箸<E99BBF><E7AEB8>斗<EFBFBD>撟誯<E6929F>嚙?0
|
||||
int num2 = i < v2.size() ? v2[i] : 0;
|
||||
|
||||
if (num1 > num2) return 1; // version1 婵犵數濮伴崹褰掓偉閵忋倕纾兼繝濠傛椤ワ拷 version2
|
||||
if (num1 < num2) return -1; // version1 闂備浇顕х换鎰崲閹邦喗宕查悗锝庡墲婵娊鏌ㄩ悤鍌涘 version2
|
||||
if (num1 > num2) return 1; // version1 憍萇𠽌<EFBFBD>豢耨隡游晶銴唳<EFBFBD><EFBFBD>厰鮟敹见<EFBFBD>閧瑣<EFBFBD>潛<EFBFBD>瞈惩<EFBFBD><EFBFBD>𨀣中<EFBFBD>?<3F>? version2
|
||||
if (num1 < num2) return -1; // version1 <EFBFBD><EFBFBD><EFBFBD>瘚<EFBFBD>?䢛<>揢<EFBFBD>堊<EFBFBD>撏脤䲮<E884A4>血<EFBFBD>摰閙䰻<E99699>烾<EFBFBD>摨∪3憍蛔<E6868D>憡𢠃<E686A1><F0A2A083>拇<EFBFBD><E68B87>峕<EFBFBD><E5B395>? version2
|
||||
}
|
||||
|
||||
return 0; // 闂傚倷鑳剁划顖炪€冮崨瀛樺亱濠电姴鍋婇懓鍨归崗鍏肩稇闁活厽顨呴—鍐偓锝庝簻椤掋垻绱掓担鍦弨闁哄本绋戦~婵嬫倷椤掆偓椤忥拷
|
||||
return 0; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD>琿㭠<EFBFBD><EFBFBD><EFBFBD>憿𣇉<EFBFBD><EFBFBD>?<3F>?撏函<E6928F>𥟇那鈭望<E988AD><E69C9B>萄妥<E89084>见<EFBFBD><E8A781>㯄崕<E3AF84>𡁜<EFBFBD>撏烾<E6928F><E783BE>拍<EFBFBD><E68B8D><EFBFBD>暑<EFBFBD>賡”<E8B3A1>氯<EFBFBD>娪<EFBFBD><E5A8AA><EFBFBD><EFBFBD><EFBFBD>嘥<EFBFBD>蝪餅中<E9A485>见㚥蝏望<E89D8F><E69C9B><EFBFBD>㩋<EFBFBD>𧼮憎<F0A7BCAE><E6868E><EFBFBD><EFBFBD>?蝏𧢲ề嚚𧼮延戭?<3F>瑟中<E7919F><E4B8AD><EFBFBD>璊文縞<E69687>?
|
||||
}
|
||||
|
||||
void Binary_Bit(unsigned char *p_data, unsigned char position, int flag) {
|
||||
//婵犵數鍋涢悺銊у垝瀹€鍕剹濞达絿鍎ゅ畷鍙夋叏濡炶浜鹃悗瑙勬礃瀹€鎼佸箠濠婂牊鍋ㄩ梻鍫熺☉缁傚繐鈹戦悙鑸靛涧缂佽尙鏅划鏃堝醇閺囩喎浠鹃梺绯曞墲缁嬫帡鍩涢弽顓熺厾闁归棿鐒﹀☉褔鏌h箛鏃戞疁闁哄被鍊濆鍫曞箰鎼粹剝顏熺紓鍌欑劍濡垿骞忛敓锟<EFBFBD> position婵犵數鍋為崹鍫曞箲娴e壊娴栭柕濞у懐顦梺鍛婄⊕濞兼瑩寮告笟鈧弻銊╂偆閸屾稑顏<E7A891>(婵犵數鍋涢顓熷垔閹绢喖绠柨鐕傛嫹0 闂佽瀛╅鏍窗閹烘纾婚柟鐐灱閺€鑺ャ亜閺囩偞顥為悗姘炬嫹)
|
||||
//憍萇𠽌<EFBFBD>賊<EFBFBD>瘨X<EFBFBD><EFBFBD>㨆<EFBFBD><EFBFBD><EFBFBD>嫖<EFBFBD><EFBFBD>𤩂<EFBFBD><EFBFBD>寞<EFBFBD>颲曄翕<EFBFBD>汿<EFBFBD><EFBFBD>琿<EFBFBD>憭见<EFBFBD>瞈∠<EFBFBD><EFBFBD>扳<EFBFBD>暽<EFBFBD><EFBFBD><EFBFBD>坔𡠺蝷<EFBFBD><EFBFBD>嫖<EFBFBD><EFBFBD>潔螂蝞䭾<EFBFBD>憍<EFBFBD><EFBFBD><EFBFBD>卝<EFBFBD>璇駁㪗<EFBFBD>算<EFBFBD>蝻<EFBFBD><EFBFBD>蝜鞾<EFBFBD><EFBFBD>行<EFBFBD><EFBFBD>賊<EFBFBD>瘨抒<EFBFBD>雿賢<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㘾<EFBFBD><EFBFBD>嗪<EFBFBD><EFBFBD>箏䣐<EFBFBD>擧<EFBFBD>暽<EFBFBD>Ⅱ蝏?<3F>𧼮3蝻<EFBC93>??撣⊿嘡瘨W播憿梶<E686BF><E6A2B6>暸<EFBFBD>敶埝ˋ<E59F9D>𡜐<EFBFBD><F0A19C90>㕑?娪<>嚚<EFBFBD><E59A9A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>??<3F>𦠜<EFBFBD><F0A6A09C><EFBFBD>㪗<EFBFBD>䂿?圈罀蝎孵<E89D8E>憿讐<E686BF>蝝㯄<E89D9D>甈穃<E79488>瞈∵<E79E88><E288B5>輸<EFBFBD>敹𥟇<E695B9><F0A59F87><EFBFBD>蕭 position憍萇𠽌<E89087>賊<EFBFBD><E8B38A>箏晶<E7AE8F>?<3F>䂿?脣迄嚚<E8BF84>?𠰴迄<F0A0B0B4>?<3F>閙<EFBFBD><E99699><EFBFBD>鞾’<E99EBE>墧Ⅱ<E5A2A7>𥕦<EFBFBD><F0A595A6>閙<EFBFBD><E99699>潛𪊴撖?<3F>羓<EFBFBD><E7BE93>抆<EFBFBD>撘駁<E69298><E9A781><EFBFBD><EFBFBD><EFBFBD>詨掛蝔煾?𧶏蕭(憍萇𠽌<E89087>賊<EFBFBD>瘨f<E798A8>憿梶<E686BF><E6A2B6>娪䲮蝏W<E89D8F>蝏𡋾<E89D8F><F0A18BBE>券<EFBFBD><E588B8>𥕦??0 <20><>蝸<EFBFBD>抒<EFBFBD>𥕞<EFBFBD><F0A5959E>䠷<EFBFBD><E4A0B7>䂿<EFBFBD><E482BF>寧<EFBFBD><E5AFA7><EFBFBD>瑣憍𡁏<E6868D><F0A1818F>韮<EFBFBD><E99FAE>梢𤄄<E6A2A2>?<3F>箝<EFBFBD>鈭𣈯𤄄<F0A388AF>拙<EFBFBD>憿亦<E686BF><E4BAA6>堒?条<>憳?)
|
||||
if (flag) {
|
||||
*p_data |= 0x01 << (position);
|
||||
} else {
|
||||
|
||||
@ -312,23 +312,6 @@ tm* get_current_date();
|
||||
*/
|
||||
int system_custom(const char* cmd, char* buf);
|
||||
|
||||
/**
|
||||
* @brief 向日志写入内存信息
|
||||
*/
|
||||
void WriteMemoryInfo();
|
||||
|
||||
/**
|
||||
* @brief 获取当前日期
|
||||
* @return 当前日期的string
|
||||
*/
|
||||
std::string GetDayDate();
|
||||
|
||||
/**
|
||||
* @brief 获取当前时间 例 12:00
|
||||
* @return void
|
||||
*/
|
||||
void GetTime_(char* time_buff, TIME_SIZE len);
|
||||
|
||||
/**
|
||||
* @brief 获取当前时间戳
|
||||
* @param timebuf 定义的buf存储数据
|
||||
@ -370,36 +353,6 @@ std::string GetLocalMac(const char* net);
|
||||
*/
|
||||
std::string IpAddrInit();
|
||||
|
||||
/**
|
||||
* @brief 获取正在工作的网卡
|
||||
* @return std::string
|
||||
*/
|
||||
// extern std::string GetWorkNic();
|
||||
|
||||
/**
|
||||
* @brief 获取系统基本信息
|
||||
* @return std::string CPU MEM DISK info
|
||||
*/
|
||||
std::string GetSysInfo();
|
||||
|
||||
/**
|
||||
* @brief 去掉字符串所有空格
|
||||
* @return std::string
|
||||
*/
|
||||
std::string& ClearAllSpace(std::string& str);
|
||||
|
||||
/**
|
||||
* @brief 调用接口写入data数据
|
||||
* @return void
|
||||
*/
|
||||
void StartWriteToDat();
|
||||
|
||||
/**
|
||||
* @brief 循环检测文件
|
||||
* @return void
|
||||
*/
|
||||
void BackupDatFile();
|
||||
|
||||
/**
|
||||
* @brief 设置系统时间
|
||||
* @return int
|
||||
@ -426,7 +379,7 @@ void ZoneConfig(std::string zoneid);
|
||||
* @return std::string CPU MEM DISK info
|
||||
*/
|
||||
std::string GetSysStatus();
|
||||
double GetHardDiskFree();
|
||||
|
||||
bool CheckIP(const char* ip);
|
||||
|
||||
bool IsValidMask(std::string mask);
|
||||
@ -443,8 +396,6 @@ void int2bytes(int i, unsigned char *bytes, int size);
|
||||
int OpenWatchDog();
|
||||
int WriteWatchDog(int fd);
|
||||
|
||||
//获取4G信号强度
|
||||
int getcsq();
|
||||
std::string GetGwIp_(const char* eth_name);
|
||||
std::string GetOneContent(const char* szData, int nRow, const char* szSeparate);
|
||||
int readStringValue(const char* section, const char* key, char* val, const char* file);
|
||||
|
||||
@ -279,32 +279,6 @@ void CheckThread() {
|
||||
}
|
||||
if (21600 == logClean) {
|
||||
logClean = 0;
|
||||
DIR *dp; //创建一个指向root路径下每个文件的指针
|
||||
struct dirent *dirp;
|
||||
std::string root = "/opt/log/";
|
||||
if ((dp = opendir(root.c_str())) == NULL) zlog_error(zct, "can't open:[%s]", root.c_str());
|
||||
while ((dirp = readdir(dp)) != NULL) {
|
||||
if ((!strcmp(dirp->d_name, ".") || (!strcmp(dirp->d_name, "..")))) continue;
|
||||
struct timeval curTime;
|
||||
gettimeofday(&curTime, NULL);
|
||||
char buffer[80] = {0};
|
||||
char fileMonth[11] = {0};
|
||||
char todayMonth[11] = {0};
|
||||
char fileDay[11] = {0};
|
||||
char todayDay[11] = {0};
|
||||
struct tm nowTime;
|
||||
localtime_r(&curTime.tv_sec, &nowTime); //把得到的值存入临时分配的内存中,线程安全
|
||||
strftime(buffer, sizeof(buffer), "%Y-%m-%d", &nowTime);
|
||||
memcpy(fileDay, dirp->d_name + 8, 2);
|
||||
memcpy(todayDay, buffer + 8, 2);
|
||||
memcpy(fileMonth, dirp->d_name + 5, 2);
|
||||
memcpy(todayMonth, buffer + 5, 2);
|
||||
std::string filename = root + std::string(dirp->d_name);
|
||||
if (atoi(fileMonth) == atoi(todayMonth) ? abs(atoi(todayDay) - atoi(fileDay)) > 15 : abs(abs(30 - (atoi(fileDay)) + atoi(todayDay))) > 15) {
|
||||
zlog_info(zct, "filename = %s", filename.c_str());
|
||||
remove(filename.c_str());
|
||||
}
|
||||
}
|
||||
char localtimestamp[32] = {0};
|
||||
GetTimeNet(localtimestamp, 1);
|
||||
char whereCon[1024] = {0};
|
||||
|
||||
@ -32,14 +32,6 @@ enum InteractiveCommand {
|
||||
UPGRADE_FIRMWARE = 16 //固件升级内容
|
||||
};
|
||||
|
||||
typedef enum {
|
||||
kUpgradeSuccess = 0, // 成功
|
||||
kProductTypeMismatch = 1, // 包有问题,不再重试
|
||||
kZigbeeHWMismatch = 2, // 包有问题,不再重试
|
||||
kTransmitFileCrcError = 3, // 此返回值时,要重试
|
||||
kRecvDataLenError = 4, // 此返回值时,要重试
|
||||
kUpgradeDoneBefore = 5 // 当前就是这个版本,不需要升级了
|
||||
} FirmFileCheckResult;
|
||||
// 无线传感器请求任务
|
||||
typedef struct {
|
||||
uint8_t cmd; // kAskTask
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user