锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲AV无码一区二区三区久久精品 ,亚洲AV综合色区无码一二三区,亚洲A丁香五香天堂网http://www.tkk7.com/zhvfeng/category/45711.htmlzh-cnWed, 28 Jul 2010 05:34:32 GMTWed, 28 Jul 2010 05:34:32 GMT60Socket Programming Considerations (2)http://www.tkk7.com/zhvfeng/archive/2010/07/28/327281.html澶╁揩榛戜簡(jiǎn)澶╁揩榛戜簡(jiǎn)Wed, 28 Jul 2010 01:23:00 GMThttp://www.tkk7.com/zhvfeng/archive/2010/07/28/327281.htmlhttp://www.tkk7.com/zhvfeng/comments/327281.htmlhttp://www.tkk7.com/zhvfeng/archive/2010/07/28/327281.html#Feedback0http://www.tkk7.com/zhvfeng/comments/commentRss/327281.htmlhttp://www.tkk7.com/zhvfeng/services/trackbacks/327281.html1.       Socket ack (acknowledgement)

Socket ack鏄寚褰?/span>socket鎺ユ敹鍒版暟鎹箣鍚庯紝鍙戦佷竴涓?/span>ack瀛楃涓?/span>(姣斿$ACK)緇?/span>socket鍙戦佹柟銆傝繖鏍鳳紝socket鍙戦佹柟鍙互鏍規(guī)嵁鏄惁鏀跺埌浜?/span>ack鍒ゆ柇瀵規(guī)柟鏄惁鏀跺埌浜?jiǎn)鏁版嵁銆?/span>

Socket ack鏄樉紺虹殑鍦ㄥ簲鐢ㄧ▼搴忎腑鍔犲叆鐨勪竴縐嶉氳鍗忚銆傚鏋滀笉浣跨敤ack錛屽湪socket閫氳涓紝鍙兘浼?xì)涓㈠け鏁版嵁銆?/span>

姣斿錛?/span>socket client瑕佽繛緇殑緇?/span>socket server鍙戦?/span>100鏉℃秷鎭傚鏋滄垜浠湪server鏀跺埌絎?/span>50鏉℃秷鎭殑鏃跺欙紝寮鴻kill浜?/span>server銆傞偅涔堟煡璇?/span>client绔彂閫佺殑log錛屽彲鑳?/span>client绔垚鍔熷彂閫佷簡(jiǎn)51鏉°傚彧鏈夊綋client绔彂閫佺52鏉℃秷鎭殑鏃跺欐墠閬囧埌寮傚父銆傝繖鏍風(fēng)51鏉℃秷鎭氨涓㈠け浜?jiǎn)銆?/span>

鎵浠ヤ負(fù)浜?jiǎn)纭繚鏁版嵁浼犺緭鐨勫噯纭э紝鎴戜滑鍙互寮曞叆ack鍗忚銆傛湁鏃舵垜浠笉浠呰紜繚server涓嶄絾鏀跺埌浜?jiǎn)鏁版嵁锛岃屼笖榪樿淇濊瘉server鎴愬姛澶勭悊浜?jiǎn)鏁版嵁銆傝繖鏃訛紝鍙互絳?/span>server鎴愬姛澶勭悊瀹屾暟鎹箣鍚庯紝鍐嶇粰client鍙?/span>ack銆?/span>

2.       Socket Keep Alive

Socket榪炴帴鍍忔暟鎹簱榪炴帴涓鏍鳳紝灞炰簬閲嶉噺鍨嬭祫婧愩傚鏋滄垜浠綣佺殑鍒涘緩socket銆佸彂閫?/span>/鎺ユ敹鏁版嵁銆佸叧闂?/span>socket錛岄偅涔堜細(xì)鏈夊緢澶т竴閮ㄥ垎鏃墮棿嫻垂鍦?/span>socket鐨勫垱寤哄拰鍏抽棴涓娿?/span>

鎵浠ワ紝濡傛灉鎴戜滑緇忓父闇瑕佷笌鍚屼竴涓?/span>socket鍦板潃鍙戦?/span>/鎺ユ敹鏁版嵁鏃訛紝搴旇鑰冭檻鍙垱寤轟竴嬈?/span>socket錛岀劧鍚庝竴鐩翠嬌鐢ㄨ繖涓?/span>socket瀵硅薄鍙戦?/span>/鎺ユ敹鏁版嵁銆?/span>

3.       Heartbeat

閫氬父錛屾垜浠細(xì)璁劇疆socket鐨?/span>receive timeout銆傝繖鏍鳳紝濡傛灉鎴戜滑涓鐩存墦寮鐫socket (keep alive)錛?/span> 鑰屽緢闀挎椂闂村張娌℃湁鏁版嵁閫氳錛?/span>socket鎺ユ敹鏂瑰氨浼?/span>timeout錛屾渶緇堝鑷存墦寮鐨勮繛鎺ュ潖鎺夈?/span>

濡傛灉寰堥暱鏃墮棿娌℃湁鏁版嵁閫氳錛岄槻鐏鎴栦唬鐞嗘湇鍔″櫒涔熷彲鑳戒細(xì)鍏抽棴鎵撳紑鐨?/span>socket榪炴帴銆?/span>

鎵浠ヤ負(fù)浜?jiǎn)淇濊瘉鎵撳紑鐨?/span>socket榪炴帴涓鐩村彲鐢紝濡傛灉涓孌墊椂闂存病鏈夋暟鎹繘琛岄氳錛堟垨鎸囧畾涓涓椂闂撮棿闅旓級(jí)錛屾垜浠彲浠ユ樉紺虹殑鍙戦佷竴涓?/span>heartbeat娑堟伅(姣斿: $HRT)緇欏鏂癸紝浠庤屼繚璇佽繛鎺ヤ笉浼?xì)琚紓甯稿叧闂?/span>

4.       Socket Close

姣忎竴涓猻ocket瀵硅薄浼?xì)鎸佹湁涓涓猻ocket descriptor (鍏跺疄灝辨槸file descriptor)錛屾搷浣滅郴緇熷浜巗ocket descriptor鏈変竴涓渶澶ч檺鍒?/span>銆傚洜姝ゅ綋socket涓嶅啀浣跨敤鏃訛紝涓瀹氳璁板緱鍏抽棴錛屽嵆浣?/span>socket榪炴帴澶辮觸鎴栧嚭鐜板紓甯革紝鍙socket瀵硅薄涓嶄負(fù)null錛屼竴瀹氳璁板緱鍏抽棴銆?/span>

涓嬮潰鍥炬樉紺轟簡(jiǎn)錛屽綋socket鍏抽棴鏃訛紝socket鐨勭姸鎬佸彉鍖?/span>(socket鐘舵佸彲浠ラ氳繃netstat鍛戒護(hù)鏌ョ湅)銆傛洿璇︾粏鐨勮В閲婏紝鍙互google涓涓嬨?br />

褰撲富鍔ㄤ竴鏂硅皟鐢?/span>close(鍏堣皟鐢?/span>close)鏃剁殑鐘舵佸彉鍖?/span>:

ESTABLISHED -> FIN_WAIT_1-> FIN_WAIT_2 -> TIME_WAIT -> CLOSED

褰撹鍔ㄤ竴鏂硅皟鐢?/span>close(鍚庤皟鐢?/span>close)鏃剁殑鐘舵佸彉鍖?/span>:

ESTABLISHED -> CLOSE_WAIT -> LAST_ACK -> CLOSED

閫氬父錛?/span>TIME_WAIT 鏄甯哥姸鎬侊紝榪囦竴孌墊椂闂?/span>(2MSL, 1鍒?/span>4鍒嗛挓)灝變細(xì)鑷姩娑堝け.

鎴戜滑闇瑕佺壒鍒敞鎰?/span>CLOSE_WAIT 鐘舵侊細(xì)

1錛?span style="font: 7pt 'Times New Roman'">   濡傛灉寰堥暱鏃墮棿鎵嶆秷澶憋紝琛ㄦ槑socket server澶勭悊澶參錛屽緢澶?/span>client宸茬粡榪炴帴鍒?/span>server錛屽彂閫佸畬鏁版嵁騫?/span>close浜?jiǎn)銆?/span>

2錛?span style="font: 7pt 'Times New Roman'">   濡傛灉涓鐩翠篃涓嶆秷澶憋紝琛ㄦ槑鏈?/span>socket娌℃湁姝e父close (瀵規(guī)柟宸茬粡close浜?/span>)

5.       SO_REUSEADDR Option

褰?/span>socket涓誨姩璋冪敤close鐨勬椂鍊欙紝浠庝笂闈㈠彲浠ョ煡閬擄紝瀹冩渶緇堜細(xì)榪涘叆TIME_WAIT 鐘舵侊紝闇瑕佽繃1鍒?/span>4鍒嗛挓錛屾墠鑳藉畬鍏?/span>close銆?/span>

褰?/span>socket澶勪簬TIME_WAIT 鐘舵佹椂錛屽畠浠嶇劧鍗犵敤姝e湪浣跨敤鐨?/span>IP/PORT銆傝繖鏍鳳紝濡傛灉鎴戜滑鐨勭▼搴?/span>(姣斿socket server)浣跨敤浜?jiǎn)涓涓浐瀹氱殑IP/PORT錛屽綋socket澶勪簬TIME_WAIT 鐘舵佹椂錛岀▼搴忓皢涓嶈兘绔嬪嵆閲嶅惎錛屼細(xì)鍑虹幇绔彛鍗犵敤閿欒銆?/span>

Socket鎻愪緵浜?jiǎn)涓涓?/span>setReuseAddress()鏂規(guī)硶錛屽彲浠ヨ緗綋socket澶勪簬TIME_WAIT 鐘舵佹椂錛屾槸鍚﹀厑璁稿叾瀹冭繘紼嬬粦瀹氳繖涓鍙c?/span>

濡傛灉鎴戜滑姝e湪寮鍙?/span>socket server錛屼竴瀹氳璁板緱璋冪敤ServerSocket.setReuseAddress(true).

Client socket涔熸湁榪欎釜鏂規(guī)硶錛岃屼笖鏈夋椂鍙兘闇瑕佹寚鏄?/span>client榪炴帴server鏃舵墍浣跨敤鐨勬湰鍦?/span>IP/PORT(涓鑸笉鐢ㄦ寚鏄庯紝緋葷粺浼?xì)闅忔満閫夋嫨涓涓?/span>PORT)銆備絾瀹為檯嫻嬭瘯錛屽湪client socket涓婅緗繖涓柟娉曞湪Windows鍜?/span>Solaris涓嬪茍涓嶈搗浣滅敤銆傚綋socket澶勪簬TIME_WAIT 鐘舵佹椂錛岄噸鍚?/span>client浠嶇劧鍑虹幇绔彛鍗犵敤閿欒銆備笂緗戞悳绱簡(jiǎn)寰堥暱鏃墮棿錛屽緢澶氫漢閮界鍒頒簡(jiǎn)榪欎釜闂錛屽彲鑳芥槸鎿嶄綔緋葷粺搴曞眰socket瀹炵幇闂銆傚洜涓烘祴璇曚嬌鐢?/span>C璇█寮鍙戠殑socket client錛屽悓鏍蜂篃鏈夎繖涓敊璇傛湁浜鴻LINUX涓嬪ソ鐢紝榪樻湁灝辨槸鍙互灝濊瘯淇敼tcp_time_wait_interval鏉ュ噺灝?/span>TIME_WAIT絳夊緟鏃墮棿



]]>
Socket Programming Considerations (1)http://www.tkk7.com/zhvfeng/archive/2010/07/26/327114.html澶╁揩榛戜簡(jiǎn)澶╁揩榛戜簡(jiǎn)Mon, 26 Jul 2010 01:31:00 GMThttp://www.tkk7.com/zhvfeng/archive/2010/07/26/327114.htmlhttp://www.tkk7.com/zhvfeng/comments/327114.htmlhttp://www.tkk7.com/zhvfeng/archive/2010/07/26/327114.html#Feedback1http://www.tkk7.com/zhvfeng/comments/commentRss/327114.htmlhttp://www.tkk7.com/zhvfeng/services/trackbacks/327114.html
鏈榪戜竴鐩村湪鍋歋ocket紼嬪簭錛岃繖閲屾妸涓浜汼ocket紼嬪簭鐨勬敞鎰忎簨欏規(guī)葷粨涓涓嬨備粖澶╁厛璇磋Socket涓殑Timeout錛屽叾瀹冪殑涓嬫琛ュ叏銆?br />

1.       Socket Timeout

鍐?/span>Socket紼嬪簭鐨勬椂鍊欓渶瑕佹敞鎰忚緗笅闈㈢殑timeout錛岄伩鍏嶅鏂規(guī)病鏈夊搷搴旂殑鏃跺欙紝瀵艱嚧Socket紼嬪簭鎸傝搗鎴栫瓑寰呮椂闂磋繃闀?/span>

1.1         Accept Timeout

Accept timeout 浠呭ServerSocket鏈夌敤銆?/span>ServerSocket 浣跨敤accept()鏂規(guī)硶鏉ョ洃鍚鎴風(fēng)Socket鐨勮繛鎺ャ?/span>

榛樿錛?/span>ServerSocket.accept() 鏂規(guī)硶浼?xì)涓鐩撮樆濉炵洿鍒版湁瀹㈡埛绔潵榪炴帴銆傞氬父錛屾垜浠笉闇瑕佽緗?/span>accept timeout.

浣嗘湁鏃跺欑壒孌婃儏鍐碉紝榪樻槸瑕佽冭檻璁劇疆accept timeout.

姣斿: 紼嬪簭A緇欑▼搴?/span>B鍙戜簡(jiǎn)涓涓?/span>JMS娑堟伅錛岀劧鍚庣▼搴?/span>A鍚姩涓涓?/span>Socket Server錛屾兂閫氳繃socket絳夊緟鎺ユ敹紼嬪簭B鐨勮繑鍥炴秷鎭傚鏋滀笉璁劇疆accept timeout, 騫朵笖紼嬪簭B鍥犱負(fù)鏌愪簺鍘熷洜涓鐩翠笉鑳借繛鎺?/span>Socket Server錛屾渶緇堜細(xì)瀵艱嚧紼嬪簭A鎸傝搗銆?/span>

Accept Timeout鍙互榪欐牱璁劇疆錛?/span>

ServerSocket serverSocket = new ServerSocket(5555);

serverSocket.setSoTimeout(5000); // in milliseconds

while (true) {

    Socket socket = serverSocket.accept();

        …

}

1.2         Connect Timeout

褰?/span>Client绔繛鎺?/span>Server绔殑鏃跺欙紝鍙互鎸囧畾Connect Timeout

濡傛灉娌℃湁鎸囧畾錛屼細(xì)浣跨敤鎿嶄綔緋葷粺鐨勯粯璁ゅ?/span>:

OS

Default TCP timeout

BSD

75 seconds

Linux

189 seconds

Solaris

225 seconds

Windows XP

21 seconds

Connect Timeout鍙互榪欐牱璁劇疆錛?/span>

SocketAddress socketAddress = new InetSocketAddress(host, port);

socket = new Socket();

socket.connect(socketAddress, connectTimeout);

1.3         Receive Timeout

褰?/span>socket浠庡彟涓鏂規(guī)帴鏀舵暟鎹椂錛屽彲浠ヨ緗?/span>Receive Timeout

榛樿娌℃湁timeout錛?/span>socket浼?xì)涓鐩撮樆濉炵洿鍒版湁鏁版嵁鍙鍙栥?/span>

Receive Timeout鍙互榪欐牱璁劇疆錛?/span>

Socket socket = new Socket(host, port);

socket.setSoTimeout(timeout);

1.4         Send Timeout

Send Timeout鏄?/span>socket緇欏彟涓鏂瑰彂閫佹暟鎹椂浣跨敤鐨勩?/span>

涓嶈繃Java閲屾病鏈夊姙娉曡緗?/span>Send Timeout.

褰撶劧錛?/span>socket鍙戦佹暟鎹殑鏃跺欙紝浼?xì)棣栧厛鍙戦佸埌鏈満OS鐨勪竴涓?/span>buffer鍐呫備竴鑸彧瑕佷竴嬈″彂閫佺殑鏁版嵁涓嶆槸寰堝ぇ錛屽嵆浣垮鏂規(guī)寕璧鋒垨鏆傛椂涓嶈兘鎺ユ敹鏁版嵁錛屼篃涓嶄細(xì)瀵艱嚧鍙戦佹柟鎸傝搗銆?/span>




]]>
主站蜘蛛池模板: 国产成人亚洲综合网站不卡| 亚洲爱情岛论坛永久| jiz zz在亚洲| 日本成人免费在线| 国产亚洲一卡2卡3卡4卡新区| 在线a人片天堂免费观看高清| 亚洲一区二区三区丝袜| 日本精品人妻无码免费大全| 亚洲AV无码国产精品色| 毛片免费观看视频| 亚洲精品理论电影在线观看| 在线观看国产情趣免费视频| 精品亚洲视频在线| 亚洲一区二区视频在线观看| 成av免费大片黄在线观看 | 大香人蕉免费视频75| 亚洲人成电影网站色| 日本免费人成视频播放| 日日摸夜夜添夜夜免费视频| 亚洲色WWW成人永久网址| 免费的全黄一级录像带| 亚洲成人免费网站| 国产一级高清免费观看| 久久av免费天堂小草播放| 亚洲色WWW成人永久网址| 最近免费中文字幕大全高清大全1| 亚洲激情视频图片| 亚洲精品456播放| 亚在线观看免费视频入口| 亚洲制服丝袜在线播放| mm1313亚洲精品国产| 国产免费一区二区三区在线观看| 亚洲视频一区在线播放| 在线观看国产情趣免费视频| 中国一级毛片视频免费看| 亚洲黄色网址在线观看| 免费A级毛片无码A| 亚洲黄色片免费看| 四虎国产精品成人免费久久| 久久亚洲精品人成综合网| 午夜免费福利在线观看|