1. linux瓒呮椂镞堕棿璁剧疆linux瓒呮椂镞堕棿
linuxsocket榛樿よ秴镞舵椂闂达纻
涓句緥锛歴=socket();璁剧疆s涓簄on-blocking锛沜onnect(s,..);FD_SET...;rc=select(...,10s);if(rc==0)琛ㄧず10s瓒呮椂浜嗐傝繖涓瓒呮椂镄勬剰镐濇槸锛10s涔嫔唴锛宻elect涓镓链塻ocket镄勪簨浠跺潎链浜х敓锛埚傛灉镊冲皯链変竴涓浜х敓锛屽垯rc澶т簬0)娉ㄦ剰锛氲繖涓10s璺焎onnect链韬镄勮秴镞舵満鍒跺畬鍏ㄦ棤鍏筹纴鍓嶈呯殑璁剧疆涓嶅奖鍝嶅悗钥呫
10s钖巗elect镄勮繑锲烇纴琛ㄦ槑10s鍐卌onnect杩樻病鎴愬姛锛宑onnect鍙鑳借缮鍦ㄦ寜镊宸辩殑瓒呮椂链哄埗锛堜緥濡傛参钖锷锛夊皾璇曢吨杩烇纸褰撶劧瀹冩渶缁堜篃链変釜瓒呮椂锛夈
镊充簬connect链韬镄勮秴镞舵槸钖﹀彲浠ヨ剧疆锛屽彲鑳藉悇绯荤粺涓崭竴镙枫傞‘渚挎彁阅掞细connect镄剆ocket蹇呴’鏄痭on-blocking绫诲瀷锛屽惁鍒欙纴connect浼氶樆濉烇纴涔熷氨娌″繀瑕佺敤select𨱒ユ娴嬫槸钖﹁繛鎺ユ垚锷熴
鍙﹀栵纴闾d釜s瑕佹敞鍐屽埌write绫诲瀷镄刦d涓锛屽嵆select镄勭3涓鍙傛暟涓銆
鍏朵粬listen锛宺ecv浠涔堢殑锛屽畬鍏ㄧ被浼硷纸浣唋isten锛宺ecv链韬娌℃湁浠涔堣秴镞舵傚康锛夈
鍙涓嶈繃listen镄勫拰recv镄剆ocket锛岃佹敞鍐屽埌read镄刦d涓銆
濡备綍淇鏀筶inuxtcpestablished钥佸寲镞堕棿锛
1銆佷慨鏀筶inux绯荤粺涓嬬殑tcp_retries2涓1锛屽綋socket鍙戦侀槦鍒楁湁涓瀹氭暟鎹镞讹纴绐佺劧鍒囨柇缃戠嚎锛岄犳垚寮傚父鏂阈剧殑鍦烘櫙锛屾ゆ椂锛屽ぇ绾﹁繃浜1绉掞纴鐢╪etstat瑙傚疗established镄勮繛鎺ユ秷澶憋绂
2銆佺户缁鎶婅ュ弬鏁颁慨鏀逛负15锛岄吨澶崭笂闱㈢殑瀹为獙锛屽彂鐜板ぇ绾﹁繃浜15鍒嗛挓钖庯纴established镄勮繛鎺ユ墠鏂寮锛
3銆佹妸鍙傛暟鍐嶆′慨鏀逛负5锛屽ぇ绾﹁繃浜7绉掞纴杩炴帴娑埚け
/proc/sys/net/ipv4/tcp_retries2
镐濊冿细TCP镄勮秴镞跺悗锛岄吨浼犵殑娆℃暟鍜岄吨浼犵殑镞堕棿闂撮殧鏄褰卞搷杩炴帴鏂寮镄勪富瑕佸弬鏁般备絾鏄锛屼粠涓婇溃镄勫疄楠屾暟鎹𨱒ョ湅锛屼技涔庢病链変粈涔堣勫緥銆傛煡阒卨inux甯锷╂枃妗o纴鍙戠幇杩欎釜閲崭紶镄勬椂闂撮棿闅斾笌RTO链夊叧锛岃岃繖涓鍙傛暟鍙堟槸鍗忚镙堥氲繃妫娴嬬绣缁灭姸鍐佃屽疄镞舵敼鍙樼殑銆
linux鐪嬮棬镫楄秴镞剁郴缁熶笉鏂閲嶅惎锛
闾f槸浣犵殑鍐呮牳链夐梾棰樸
鎹涓鐗堟湰鎶娿傚傛灉鏄浣犺嚜宸辫佸壀镄勫唴镙革纴鐪嬬湅鏄涓嶆槸娌℃湁锽傜嫍銆傛垨钥呯矖𨱌寸偣鐩存帴绂佺敤鐪嬮棬镫椼2. finalshel链接linux超时解决办法
有小伙伴发现finalshel链接linux超时,不知道如何解决,首先找到vm服务,如果关闭将其打开,然后检查vm网络是否启用,没有启用将其右键启用,详情如下。
finalshel链接linux超时解决办法
1、首先要确保自己IP没有改动,可输入“ifconfig”命令查看IP。
2、然后查看是否打开vm服务,使用快捷键“win+X”,找到“计算机管理”。
3、然后点击界面右侧“服务和应用程序”,跳转界面点击“服务”。
4、接着找到vm服务,如果关闭将其打开。
5、然后检查vm网络是否启用,没有启用将其右键启用。