锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久久久久国产精品美女,99久久精品免费看国产一区二区三区,91精品国产综合久久香蕉http://www.shnenglu.com/aa19870406/zh-cnTue, 06 May 2025 23:21:14 GMTTue, 06 May 2025 23:21:14 GMT60鍏充簬寰俊鍜孮Q鐨勪竴鐐規濊?/title><link>http://www.shnenglu.com/aa19870406/archive/2012/08/28/188540.html</link><dc:creator>MrRightLeft</dc:creator><author>MrRightLeft</author><pubDate>Tue, 28 Aug 2012 10:24:00 GMT</pubDate><guid>http://www.shnenglu.com/aa19870406/archive/2012/08/28/188540.html</guid><wfw:comment>http://www.shnenglu.com/aa19870406/comments/188540.html</wfw:comment><comments>http://www.shnenglu.com/aa19870406/archive/2012/08/28/188540.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.shnenglu.com/aa19870406/comments/commentRss/188540.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/aa19870406/services/trackbacks/188540.html</trackback:ping><description><![CDATA[<p style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 0px 0px 0.8em; letter-spacing: normal; font: 14px/21px Tahoma, Verdana, STHeiTi, simsun, sans-serif; white-space: normal; orphans: 2; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">寰俊瑕佹墦璐q錛屽鏋滀粎浠呭眬闄愪簬闄岀敓浜轟氦鍙嬶紝鏄偗瀹氫笉琛岀殑銆傛墍浠ョ幇鍦ㄥ井淇′細鍏奸【闄岀敓浜轟氦鍙嬪拰鐔熶漢浜ゅ弸銆傚洜涓洪檶鐢熶漢浜ゅ弸鐨勬ā寮忔槸璋冨姩澶у鐚庡銆佸皾璇曟柊椴滅殑嬈叉湜錛屽鏋滃ぇ瀹墮兘鎯沖幓“綰︾偖”錛屼絾鏄張緇忓父綰︿笉鍒幫紝灝變細娓愭笎澶卞幓瀵瑰畠鐨勫ソ濂囧拰鏂伴矞鍒烘縺鎰燂紝閭d箞寰俊鐨勫彂灞曞氨浼氶亣鍒扮摱棰堛俼q鏈澶х殑浼樺娍鍦ㄤ簬瀹冪殑鐢ㄦ埛鍏崇郴閾撅紝鐢ㄦ埛鍏崇郴閾炬槸寮鴻仈緋葷殑錛岀敤鎴峰緢闅句粠瀹冭漿鍒板埆澶勶紝褰撶劧鐜板湪寰俊鐨勫揩閫熷彂灞曚篃鏄涓嶅紑qq鐨勬敮鎸佺殑錛屾瘮濡備粠qq瀵煎叆濂藉弸鍒板井淇°傛墍浠q琚井淇″彇浠g殑鍙兘鎬ц繕涓嶆槸寰堝ぇ錛屽簲璇ユ槸浜掕ˉ鐨勶紝涓ゅ己騫剁珛銆傚井淇$殑鐏茍涓嶄竴瀹氬湪浜庡畠鐨勫姛鑳藉己澶э紝鎴栬呭垱鏂幫紙濡傛憞涓鎽囥佹紓嫻佺摱錛夛紝鐏殑鏈川鍘熷洜鍦ㄤ簬鐢ㄦ埛鐨?#8220;綰︾偖”闇姹傦紝榪欎篃鏄檶闄岃兘寮傚啗紿佽搗鐨勫師鍥狅紝鑰岀浉姣斾箣涓嬶紝綾寵亰灝卞悗鍔蹭笉瓚籌紝鍥犱負瀹冩病鏈夋姄浣忚繖涓湰璐ㄩ渶姹傘?/p> <p style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 0px 0px 0.8em; letter-spacing: normal; font: 14px/21px Tahoma, Verdana, STHeiTi, simsun, sans-serif; white-space: normal; orphans: 2; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">鐢變簬涓寮濮嬪ぇ閮ㄥ垎浜虹殑鐨?#8220;綰︾偖”闇姹傛棤娉曞緱鍒版弧瓚籌紝緇ц屽浜庨檶鐢熶漢浜ゅ弸宸ュ叿鐨勪嬌鐢ㄤ細鐢卞師鏉ョ殑鍘熷“綰︾偖”闇姹傦紝榪涘寲涓?#8220;緇撹瘑鏂版湅鍙?#8221;鐨勯渶姹傦紝鐜頒唬澶ч儴鍒嗕漢閮借姳璐瑰ぇ閲忔椂闂村湪浜掕仈緗戜笂錛屼笌浜烘帴瑙︾殑鏃墮棿浼氭瘮杈冨皯錛屽墿鐢峰墿濂熾佸畢鐢峰畢濂沖緢澶氾紝榪欓儴鍒嗛渶姹備細姣旇緝澶э紝涔熸瘮杈冧笉閭d箞鍘熷銆傜浉淇′笉涔呭悗浼氭槸榪欓儴鍒嗛渶姹傛潵涓誨闄岀敓浜轟氦鍙嬪伐鍏風殑鍙戝睍銆?/p> <img src ="http://www.shnenglu.com/aa19870406/aggbug/188540.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/aa19870406/" target="_blank">MrRightLeft</a> 2012-08-28 18:24 <a href="http://www.shnenglu.com/aa19870406/archive/2012/08/28/188540.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>redis婧愮爜鍓栨瀽-main嫻佺▼http://www.shnenglu.com/aa19870406/archive/2012/07/17/183875.htmlMrRightLeftMrRightLeftTue, 17 Jul 2012 05:28:00 GMThttp://www.shnenglu.com/aa19870406/archive/2012/07/17/183875.htmlhttp://www.shnenglu.com/aa19870406/comments/183875.htmlhttp://www.shnenglu.com/aa19870406/archive/2012/07/17/183875.html#Feedback0http://www.shnenglu.com/aa19870406/comments/commentRss/183875.htmlhttp://www.shnenglu.com/aa19870406/services/trackbacks/183875.html涓銆乺edis榪愯嫻佺▼
浠ヤ笅鏄痳edis main鍑芥暟鐨勮繍琛屾祦紼?br />



]]>
socket accept()榪斿洖鐨剆ocket鎻忚堪絎︾殑绔彛鍜宭isten鎻忚堪絎︾鍙f槸涓鏍風殑鍚楋紵http://www.shnenglu.com/aa19870406/archive/2012/07/15/183595.htmlMrRightLeftMrRightLeftSun, 15 Jul 2012 13:01:00 GMThttp://www.shnenglu.com/aa19870406/archive/2012/07/15/183595.htmlhttp://www.shnenglu.com/aa19870406/comments/183595.htmlhttp://www.shnenglu.com/aa19870406/archive/2012/07/15/183595.html#Feedback2http://www.shnenglu.com/aa19870406/comments/commentRss/183595.htmlhttp://www.shnenglu.com/aa19870406/services/trackbacks/183595.html

]]>
鍚屾io涓庡紓姝ohttp://www.shnenglu.com/aa19870406/archive/2012/07/13/183189.htmlMrRightLeftMrRightLeftFri, 13 Jul 2012 07:45:00 GMThttp://www.shnenglu.com/aa19870406/archive/2012/07/13/183189.htmlhttp://www.shnenglu.com/aa19870406/comments/183189.htmlhttp://www.shnenglu.com/aa19870406/archive/2012/07/13/183189.html#Feedback0http://www.shnenglu.com/aa19870406/comments/commentRss/183189.htmlhttp://www.shnenglu.com/aa19870406/services/trackbacks/183189.html闃誨io妯″瀷銆侀潪闃誨io妯″瀷銆両/O澶嶇敤妯″瀷鍜屼俊鍙烽┍鍔↖/O妯″瀷閮芥槸鍚屾io妯″瀷錛屽洜涓哄叾涓湡姝g殑io鎿嶄綔灝嗛樆濉炶繘紼嬨傚彧鏈夊紓姝/O妯″瀷鎵嶆槸寮傛鐨?img src ="http://www.shnenglu.com/aa19870406/aggbug/183189.html" width = "1" height = "1" />

]]>
socket close_on_exechttp://www.shnenglu.com/aa19870406/archive/2012/07/13/183183.htmlMrRightLeftMrRightLeftFri, 13 Jul 2012 07:08:00 GMThttp://www.shnenglu.com/aa19870406/archive/2012/07/13/183183.htmlhttp://www.shnenglu.com/aa19870406/comments/183183.htmlhttp://www.shnenglu.com/aa19870406/archive/2012/07/13/183183.html#Feedback0http://www.shnenglu.com/aa19870406/comments/commentRss/183183.htmlhttp://www.shnenglu.com/aa19870406/services/trackbacks/183183.htmlsocket close_on_exec

鐖惰繘紼媐ork瀛愯繘紼嬪悗錛屽瓙榪涚▼浼氬鍒剁埗榪涚▼鐨剆ocket鎻忚堪絎︺傚鏋滄兂璁╁瓙榪涚▼鍦╡xec鏃訛紝閲婃斁鎺夋墍鎷ユ湁鐨勭埗榪涚▼鐨剆ocket鎻忚堪絎︼紝鍙互璁劇疆鐖惰繘紼嬬殑socket close_on_exec鐗規с?br />
 if( fcntl(iSockFd, F_GETFD, arg) < 0 )   /* 榪欎釜寰堥噸瑕侊紝瑕佷笉涓嬮潰璁劇疆涓嶆垚鍔?nbsp;*/
 {
      exit(-1);
 }
 
 arg |= FD_CLOEXEC;
 
 if( fcntl(iSockFd, F_SETFD, 1) < 0 )
 {
      exit(-1);
 }



]]>
SO_REUSEADDRhttp://www.shnenglu.com/aa19870406/archive/2012/07/12/183018.htmlMrRightLeftMrRightLeftThu, 12 Jul 2012 09:16:00 GMThttp://www.shnenglu.com/aa19870406/archive/2012/07/12/183018.htmlhttp://www.shnenglu.com/aa19870406/comments/183018.htmlhttp://www.shnenglu.com/aa19870406/archive/2012/07/12/183018.html#Feedback0http://www.shnenglu.com/aa19870406/comments/commentRss/183018.htmlhttp://www.shnenglu.com/aa19870406/services/trackbacks/183018.htmlSO_REUSEADDR

緙栧啓 TCP/SOCK_STREAM 鏈嶅姟紼嬪簭鏃訛紝SO_REUSEADDR鍒板簳浠涔堟剰鎬濓紵榪欎釜濂楁帴瀛楅夐」閫氱煡鍐呮牳錛屽鏋滅鍙e繖錛屼絾TCP鐘舵佷綅浜?TIME_WAIT 錛屽彲浠ラ噸鐢ㄧ鍙c傚鏋滅鍙e繖錛岃孴CP鐘舵佷綅浜庡叾浠栫姸鎬侊紝閲嶇敤绔彛鏃朵緷鏃у緱鍒頒竴涓敊璇俊鎭紝 鎸囨槑"鍦板潃宸茬粡浣跨敤涓?銆傚鏋滀綘鐨勬湇鍔$▼搴忓仠姝㈠悗鎯崇珛鍗抽噸鍚紝鑰屾柊濂楁帴瀛椾緷鏃т嬌鐢ㄥ悓涓绔彛錛屾鏃禨O_REUSEADDR 閫夐」闈炲父鏈夌敤銆傚繀欏繪剰璇嗗埌錛屾鏃朵換浣曢潪鏈熸湜鏁版嵁鍒拌揪錛岄兘鍙兘瀵艱嚧鏈嶅姟紼嬪簭鍙嶅簲娣蜂貢錛屼笉榪囪繖鍙槸涓縐嶅彲鑳斤紝浜嬪疄涓婂緢涓嶅彲鑳姐?nbsp;

]]>
linux 鏂囦歡鎿嶄綔涔媍losehttp://www.shnenglu.com/aa19870406/archive/2012/07/12/183010.htmlMrRightLeftMrRightLeftThu, 12 Jul 2012 08:13:00 GMThttp://www.shnenglu.com/aa19870406/archive/2012/07/12/183010.htmlhttp://www.shnenglu.com/aa19870406/comments/183010.htmlhttp://www.shnenglu.com/aa19870406/archive/2012/07/12/183010.html#Feedback0http://www.shnenglu.com/aa19870406/comments/commentRss/183010.htmlhttp://www.shnenglu.com/aa19870406/services/trackbacks/183010.html#include <iostream>
#include 
<fcntl.h>
using namespace std;

int main()
{
    
int fd = open("demo.txt", O_RDWR, 0);
    close(fd);
    
int fd1 = open("demo1.txt", O_RDWR, 0);
    
char *szMsg = "hello";
    
int size = write(fd, szMsg, strlen(szMsg)+1);
    
if (-1 == size)
    
{
         cerr 
<< "error!" << endl;
    }

    close(fd1);
    
return 0;
}
鐚滀竴涓嬩笂闈㈢▼搴忕殑鎵ц緇撴灉銆?br />鍦╳rite鏃訛紝fd鍜宖d1鐨勫兼槸涓鏍風殑錛寃rite fd鏃訛紝瀹為檯灝辨槸write fd1銆?br />涓轟簡閬垮厤鑷繁鍦ㄧ▼搴忎腑璇搷浣滐紝鍙互鍦╟lose(fd)涔嬪悗錛屽姞涓奻d = -1;

]]>
redis婧愮爜鍓栨瀽-瀛楃涓?/title><link>http://www.shnenglu.com/aa19870406/archive/2012/07/03/181190.html</link><dc:creator>MrRightLeft</dc:creator><author>MrRightLeft</author><pubDate>Mon, 02 Jul 2012 16:59:00 GMT</pubDate><guid>http://www.shnenglu.com/aa19870406/archive/2012/07/03/181190.html</guid><wfw:comment>http://www.shnenglu.com/aa19870406/comments/181190.html</wfw:comment><comments>http://www.shnenglu.com/aa19870406/archive/2012/07/03/181190.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/aa19870406/comments/commentRss/181190.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/aa19870406/services/trackbacks/181190.html</trackback:ping><description><![CDATA[<div style="text-align: center;"><span style="font-size: 18pt; ">redis婧愮爜鍓栨瀽-瀛楃涓?br /><br /></span></div>redis瀹炵幇浜嗚嚜宸辯殑瀛楃涓茬粨鏋勩傚湪鏂囦歡sds.h/dsd.c涓畾涔夈俽edis涓殑瀛楃涓插彨sds(simple dynamic string)銆?br />sds瀹炶川鏄痗har*:<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->typedef <span style="color: #0000FF; ">char</span> *sds;</div>sds閫氳繃sdsnewlen()鍑芥暟鏉ュ垱寤?sds sdsnewlen(const void *init, size_t initlen)銆傝鍑芥暟鍐呴儴浼氬垱寤轟竴涓猻dshdr鐨勭粨鏋?榪斿洖鍊約ds錛屽嵆char *錛岃緇撴瀯瀹氫箟濡備笅:<br /><div style="font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; border-image: initial; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; background-color: #eeeeee; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">struct</span> sdshdr<br />{<br />        <span style="color: #0000FF; ">int</span> len;<br />        <span style="color: #0000FF; ">int</span> free;<br />        <span style="color: #0000FF; ">char</span> buf[];<br />};</div>鍏朵腑len瀛樺偍褰撳墠瀛楃涓茬殑闀垮害錛宖ree瀛樺偍璇ョ粨鏋勪綋鍓╀綑鍙瓨鍌ㄥ瓧鑺傛暟錛宐uf瀛樺偍瀛楃涓插箋俿dsnewlen()鍑芥暟鍦ㄥ垱寤簊dshdr鍚庯紝浼氳繑鍥瀊uf鐨勫湴鍧錛坰dshdr->buf)銆?br />sdsnewlen()鍑芥暟鍒涘緩浜嗗瓧絎︿覆錛屽茍榪斿洖瀛楃涓插湴鍧sds,瑕佷嬌鐢╯dshdr涓殑len鍜宖ree錛屽垯闇瑕佽幏鍙杝dshdr緇撴瀯浣撶殑鍦板潃銆傚浣曟牴鎹幏寰楃殑sds寰楀埌sdshdr緇撴瀯浣撶殑鍦板潃鍛紵<br /><div>redis涓弬鑰冧簡linux鍐呮牳鍏充簬閫氱敤list(list_head)鐨勫疄鐜版満鍒?瀹炵幇鏂規硶濡備笅:<br /><div style="font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; border-image: initial; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; background-color: #eeeeee; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">struct</span> sdshdr *sh =  (<span style="color: #0000FF; ">void</span>*) (sds-(<span style="color: #0000FF; ">sizeof</span>(<span style="color: #0000FF; ">struct</span> sdshdr)));</div>sds鏄繑鍥炵殑瀛楃涓插湴鍧錛屽嵆sdshdr->buf錛岀敤sds鐨勫湴鍧鍑忓幓鍏跺湪緇撴瀯浣撲腑鐨勫亸縐伙紝鍗沖彲寰楀埌sdshdr鐨勫湴鍧銆傜敱浜巄uf鍦╯dshdr緇撴瀯浣撶殑鏈鍚庯紝鎵浠ュ叾鍋忕Щ灝辨槸sizeof(len)+sizeof(free),璇ュ亸縐繪伆濂芥槸sizeof(struct sdshdr)銆?br />濡傛灉buf鍦╯dshdr涓殑浣嶇疆鏄換鎰忕殑錛屽浣曟牴鎹産uf鐨勫湴鍧鑾峰彇sdshdr鐨勫湴鍧鍛紵瀹炵幇濡備笅:<br />鍋囪鐜板湪sdshdr澹版槑濡備笅:<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">struct</span> sdshdr<br />{<br />        <span style="color: #0000FF; ">int</span> len;<br />        <span style="color: #0000FF; ">char</span> buf[];<br />        <span style="color: #0000FF; ">int</span> free;       <br />};</div><font color="#0000ff" size="2">鍒檚dshdr鍦板潃濡備笅鑾峰彇錛?br /></font><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">int</span> offset_buf = (<span style="color: #0000FF; ">int</span>)((<span style="color: #0000FF; ">struct</span> sdshdr *)0)->buf;      <br /><span style="color: #0000FF; ">struct</span> sdshdr *sh =(<span style="color: #0000FF; ">struct</span> sdshdr *)( (<span style="color: #0000FF; ">int</span>)sdsbuf - offset_buf);  </div><font color="#0000ff" size="2">鍏朵腑sdsbuf鏄皟鐢╯dsnewlen()榪斿洖鐨刡uf鍦板潃銆傚嵆 sds sdsbuf = sdsnewlen(...);<br /></font><span style="font-size: 13px; background-color: #eeeeee; ">((</span><span style="font-size: 13px; color: #0000ff; ">struct</span><span style="font-size: 13px; background-color: #eeeeee; "> sdshdr </span><span style="font-size: 13px; background-color: #eeeeee; ">*</span><span style="font-size: 13px; background-color: #eeeeee; ">)</span><span style="font-size: 13px; background-color: #eeeeee; ">0</span><span style="font-size: 13px; background-color: #eeeeee; ">)</span><span style="font-size: 13px; background-color: #eeeeee; ">-></span><span style="font-size: 13px; background-color: #eeeeee; ">buf 琛ㄧず褰撶粨鏋勪綋sdshdr鍦ㄥ湴鍧0鏃訛紝buf鐩稿浜巗dshdr棣栧湴鍧鐨勫亸縐匯?/span><font color="#0000ff" size="2"><br /></font></div><br /> <div id="psyceqa" class="vimiumReset vimiumHUD" style="right: 150px; opacity: 0; display: none; "></div> <div id="pforyqb" class="vimiumReset vimiumHUD" style="right: 150px; opacity: 0; display: none; "></div> <div id="qsrtdcr" class="vimiumReset vimiumHUD" style="right: 150px; opacity: 0; display: none; "></div> <img src ="http://www.shnenglu.com/aa19870406/aggbug/181190.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/aa19870406/" target="_blank">MrRightLeft</a> 2012-07-03 00:59 <a href="http://www.shnenglu.com/aa19870406/archive/2012/07/03/181190.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>64浣嶇綉緇滃瓧鑺傚簭涓庝富鏈哄瓧鑺傚簭杞崲http://www.shnenglu.com/aa19870406/archive/2012/06/20/179517.htmlMrRightLeftMrRightLeftWed, 20 Jun 2012 08:50:00 GMThttp://www.shnenglu.com/aa19870406/archive/2012/06/20/179517.htmlhttp://www.shnenglu.com/aa19870406/comments/179517.htmlhttp://www.shnenglu.com/aa19870406/archive/2012/06/20/179517.html#Feedback1http://www.shnenglu.com/aa19870406/comments/commentRss/179517.htmlhttp://www.shnenglu.com/aa19870406/services/trackbacks/179517.html 64浣嶇綉緇滃瓧鑺傚簭涓庝富鏈哄瓧鑺傚簭杞崲

unsigned long long ntohll(unsigned long long val)
{
    
if (__BYTE_ORDER == __LITTLE_ENDIAN)
    
{
        
return (((unsigned long long )htonl((int)((val << 32>> 32))) << 32| (unsigned int)htonl((int)(val >> 32));
    }

    
else if (__BYTE_ORDER == __BIG_ENDIAN)
    
{
        
return val;
    }

}


unsigned 
long long htonll(unsigned long long val)
{
    
if (__BYTE_ORDER == __LITTLE_ENDIAN)
    
{
        
return (((unsigned long long )htonl((int)((val << 32>> 32))) << 32| (unsigned int)htonl((int)(val >> 32));
    }

    
else if (__BYTE_ORDER == __BIG_ENDIAN)
    
{
        
return val;
    }

}

 



]]>
濡備綍瀹氫箟鍙橀暱鐨凾LV緇撴瀯浣擄紵http://www.shnenglu.com/aa19870406/archive/2012/06/14/178803.htmlMrRightLeftMrRightLeftThu, 14 Jun 2012 07:46:00 GMThttp://www.shnenglu.com/aa19870406/archive/2012/06/14/178803.htmlhttp://www.shnenglu.com/aa19870406/comments/178803.htmlhttp://www.shnenglu.com/aa19870406/archive/2012/06/14/178803.html#Feedback4http://www.shnenglu.com/aa19870406/comments/commentRss/178803.htmlhttp://www.shnenglu.com/aa19870406/services/trackbacks/178803.html濡備綍瀹氫箟鍙橀暱鐨凾LV緇撴瀯浣擄紵

TLV鏄竴縐嶅父鐢ㄧ殑鐢ㄤ簬閫氫俊鐨勭粨鏋勪綋鏍煎紡銆俆琛ㄧずtag錛孡琛ㄧずlength錛孷琛ㄧずvalue銆傚叾涓璗鍜孡鏄浐瀹氬ぇ灝忕殑錛孷鏄彲鍙樺ぇ灝忥紝L琛ㄧず鐨勬槸V鐨勯暱搴︺傞氬父鐢ㄤ簬緇撴瀯鍖栫綉緇滈氫俊涓殑鏁版嵁嫻併傚0x3 3 'aa\0'錛?x3 5 'aaaa\0',鍏朵腑0x3琛ㄧずtag鐨勫鹼紝3 or 5琛ㄧず鐨勬槸鍚庨潰鐨勫瓧絎︿覆鐨勯暱搴︺傜敱浜嶸鏄彲鍙橀暱搴︾殑錛屾墍浠ュ湪瀹氫箟TLV緇撴瀯鏃訛紝闇瑕佸皢V瀹氫箟鎴愪負鍙彉澶у皬銆傚彲瀹氫箟濡備笅錛?br />
struct TLV
{
    uint8_t tag;
    uint16_t len;
    char value[0];
}__attribute__((packed));

娉ㄦ剰value鍒嗛厤鐨勬槸0澶у皬錛屾渶鍚庝竴涓垚鍛樹負鍙彉闀跨殑鏁扮粍錛屽浜嶵LV錛圱ype-Length-Value錛夊艦寮忕殑緇撴瀯錛屾垨鑰呭叾浠栭渶瑕佸彉闀垮害鐨勭粨鏋勪綋錛岀敤榪欑鏂瑰紡瀹氫箟鏈濂姐備嬌鐢ㄨ搗鏉ラ潪甯告柟渚匡紝鍒涘緩鏃訛紝malloc涓孌電粨鏋勪綋澶у皬鍔犱笂鍙彉闀挎暟鎹暱搴︾殑絀洪棿緇欏畠錛屽彲鍙橀暱閮ㄥ垎鍙寜鏁扮粍鐨勬柟寮忚闂紝閲婃斁鏃訛紝鐩存帴鎶婃暣涓粨鏋勪綋free鎺夊氨鍙互浜嗐俖_attribute__(packed)鐢ㄦ潵寮哄埗涓嶅struct TLV榪涜4瀛楄妭瀵歸綈錛岀洰鐨勬槸涓轟簡鑾峰彇鐪熷疄鐨凾LV鐨勭┖闂翠嬌鐢ㄦ儏鍐點?br />
int main()
{
    char *szMsg = "aaaaaaaaa";
    cout << sizeof(TLV) << endl; //the size of TLV
    uint16_t len = strlen(szMsg) + 1;
    struct TLV *pTLV;
    pTLV = (struct TLV*)malloc(sizeof(struct TLV) + sizeof(char)*len);
    pTLV->tag = 0x2;
    pTLV->len = len;
    memcpy(pTLV->value, szMsg, len);
    cout << pTLV->value << endl;
    free(pTLV);
    pTLV = NULL;
    return 0;
}

榪欓噷鏈夊叧浜庤緗彉闀縏LV鐨勮緇嗚鏄庯細http://www.douban.com/note/213324857/
榪欓噷鏈変竴涓棶棰橈紝濡備綍瀹炵幇宓屽TLV緇撴瀯鍛紵澶у鏈変粈涔堝ソ鐨勬濊礬鍚楋紵嬈㈣繋浜ゆ祦
綆鍗曞疄鐜頒簡涓涓嬪祵濂桾LV錛屼笉鐭ラ亾鏈夋病鏈夐棶棰樸?br />
#include <iostream>
using namespace std;

struct TLVNODE
{
    uint8_t tag;
    uint16_t len;
    char value[0];
}__attribute__ ((packed));

struct TLV
{
    int hei;
    uint8_t tag;
    uint16_t len;
    struct TLVNODE value[0];
} __attribute__ ((packed));

int main()
{
    //char *szMsg = "aaaaaaaaaaa";
    cout << sizeof(TLV) << endl;
    //uint16_t len = strlen(szMsg) + 1;

    char *szNodeMsg = "bbbbbbbbbb";
    uint16_t nodelen = strlen(szNodeMsg) + 1;
    struct TLVNODE *pNode = (struct TLVNODE *) malloc(sizeof(struct TLVNODE) + sizeof(char)*nodelen); 
    pNode->tag = 0x3;
    pNode->len = nodelen;
    memcpy(pNode->value, szNodeMsg, nodelen);


    struct TLV *pTlv;
    uint16_t nodeSize = sizeof(struct TLVNODE) + sizeof(char)*nodelen;
    pTlv = (struct TLV*)malloc(sizeof(struct TLV) + nodeSize);
    pTlv->tag = 0x2;
    pTlv->len = nodeSize;
//    pTlv->value[0] = (struct TLVNODE)*pNode;
    memcpy(pTlv->value, pNode, nodeSize);
    free(pNode);
    pNode = NULL;
    cout << sizeof(*pTlv) << endl;
    /*for (int i = 0; i < len; ++i)
    {
        pTlv->value[i] = szMsg[i]; 
    }
*/

    /*memcpy(pTlv->value, szMsg, len);*/
    //cout << pTlv->value << endl;
    free(pTlv);
    pTlv = NULL;
    return 0;
}






]]>
久久精品18| 久久高潮一级毛片免费| 久久亚洲精品成人av无码网站| 99精品国产综合久久久久五月天| 日韩AV无码久久一区二区| 国内精品伊人久久久久av一坑| 大伊人青草狠狠久久| 国产精品久久久久一区二区三区| 三级片免费观看久久| 亚洲欧美日韩久久精品第一区| 国产成人久久激情91| 久久精品国产精品亜洲毛片| 久久久SS麻豆欧美国产日韩| 99久久精品日本一区二区免费| 丁香五月综合久久激情| 久久久久亚洲av综合波多野结衣| 97久久超碰国产精品2021| 久久久久九九精品影院| 欧美一区二区三区久久综合 | 久久精品国产亚洲av麻豆图片| 久久夜色精品国产网站| 久久影视国产亚洲| 久久99国产综合精品| 日本高清无卡码一区二区久久| 精品久久久噜噜噜久久久| 香港aa三级久久三级老师2021国产三级精品三级在 | 久久综合中文字幕| 久久久久亚洲av综合波多野结衣| 久久精品国内一区二区三区| 18禁黄久久久AAA片| 亚洲综合精品香蕉久久网97 | 久久久精品久久久久影院| 国内精品久久久久久99蜜桃| 久久久久久久91精品免费观看| 青青青国产成人久久111网站| 久久久久精品国产亚洲AV无码| 久久se精品一区精品二区国产| 69国产成人综合久久精品| 久久精品国产亚洲AV影院| 人妻中文久久久久| 精品久久人人爽天天玩人人妻|