tcp連線關閉詳解和注意事項
上圖是tcp連線主動關閉端的狀態轉換圖: (1)應用層呼叫close函式發起關閉連線請求 (2)傳送FIN到對端,關閉寫通道,自己進入FIN_WAIT1狀態 (3)等待對端的確認ACK到來,接受到ACK後進入FIN_WAIT2狀態;如果在超時時間內沒有收到確認ACK直接進入CLOSED狀態 (4)如果在FIN_WAIT1狀態時收到了對端的FIN則進入CLOSING狀態(雙發都發出了關閉連線請求) (5)在FIN_WAIT2接受到了對端FIN後進入TIME_WAIT狀態;如果在超時時間內沒有收這個FIN則直接進入CLOSED狀態 (6)在TIME_WAIT狀態等待2個MSL(2個報文最長存活週期)後進入CLOSED狀態
相關推薦
tcp連線關閉詳解和注意事項
注:tcp關閉連線不區分客戶端和服務端,哪一埠可以主動發起關閉連線請求。所以為了描述方便,描述中的“主動方”表示主動發起關閉連線一方,“被動方”表示被動關閉連線一方。 1. tcp關閉連線狀態轉換 上圖是tcp連線主動關閉端的狀態轉換圖: (1)應用層呼叫close函式發起關閉連線請求 (2
React生命週期函式詳解和注意事項
React生命週期函式 生命週期函式是指在某一個週期自動執行的函式。 React中的生命週期執行過程 以下是React中的常用的生命週期函式,按個部分中按照自動執行順序列出,這幾個過程
1112_maven專案使用Druid連線池配置步驟和注意事項[mysql資料庫]
maven專案使用Druid連線池配置步驟和注意事項[mysql資料庫] 2018年06月13日 17:09:25 個人分類: java 注:這兩天搭建專案時,使用Druid連線池入了不少坑;以此記錄; MySQL Server 5.7.21 + mysql-connector-j
TCP連線狀態詳解及TIME_WAIT過多的解決方法
上圖對排除和定位網路或系統故障時大有幫助,但是怎樣牢牢地將這張圖刻在腦中呢?那麼你就一定要對這張圖的每一個狀態,及轉換的過程有深刻地認識,不能只停留在一知半解之中。下面對這張圖的11種狀態詳細解釋一下,以便加強記憶!不過在這之前,先回顧一下TCP建立連線的三次握手過程
Android中Service的使用詳解和注意點(LocalService)
開始,先稍稍講一點android中Service的概念和用途吧~ Service分為本地服務(LocalService)和遠端服務(RemoteService): 1、本地服務依附在主程序上而不是獨立的程序,這樣在一定程度上節約了資源,另外Local服務因為是在同一程序因此
BottomSheet 的詳解及注意事項
android support library更新的比較快,使用了幾個控制元件挺不錯,不過今天只寫BottomSheet 。 OK,這個東西肯定很多人都沒聽過和用過,其實用起來特別方便和簡單,不過它的使用需要引入Behavior機制,別說你沒聽說過Behavi
TCP建立連線和斷開連線過程詳解
最近在看TCP這塊知識的時候對TCP連線三次握手斷開四次斷開不是很瞭解,找了下面一片文章講的很詳細,收藏下! 原文地址:http://blog.sina.com.cn/s/blog_60a4fcef0101e813.html TCP是一個面向連線的服務,面向連線的服務是電話系統服務模式的抽象
TCP通訊過程詳解以及tcp長連線和短連線
1. TCP連線 當網路通訊時採用TCP協議時,在真正的讀寫操作之前,server與client之間必須建立一個連線,當讀寫操作完成後,雙方不再需要這個連線 時它們可以釋放這個連線,連線的建立是需要三次握手的,而釋放則需要4次揮手,所以說每個連線的建立都是需要
mysql許可權和使用注意事項及mysql 資料型別詳解和innodb,myisam區別
mysql使用者許可權管理(Grant,Revoke) MySQL可以為不同的使用者分配嚴格的、複雜的許可權。這些操作大多都可以用SQL 指令Grant(分配許可權)和Revoke(回收許可權)來實現。 Grant可以把指定的權 限分配給特定的使用者,如果這個使用者不存在
java的UDP和TCP詳解和北京-賽車平臺出租源碼分析
ati 消息 byte ide 一段 pack catch 打包 println 1、需求分析北京-賽車平臺出租Q1446595067 最近在和硬件做網口的傳輸協議,一開始告訴我說用TCP的socket進行傳輸,我說沒問題,就寫了個socket的發送和接收方法。but過了沒
linux netstat tcp(全連線半連線)詳解
功能介紹(參考 LINUX MAN命令 大家可以自己去看一下 這裡只是列出常用的部分說明) 顯示網路連線狀態(如:LISTEN、ESTABLISHED、TIME_WAIT),路由地址,應用使用協議(如:TCP、UDP),IP和埠使用情況等其他網路資訊。 常用引數 –rou
Python之TCP詳解和 OSI七層模型
1.OSI七層模型和TCP/IP四層 基本模型: OSI七層模型 先有模型,後有協議,先有標準,後有實踐,TCP/IP反之 ARP協議,獲取主機的mac地址,全世界唯一 應用程式:QQ、微信,我們開發
linux netstat、tcp(全連線半連線)詳解
參考 LINUX MAN命令 大家可以自己去看一下 這裡只是列出常用的部分說明 功能介紹 顯示網路連線狀態(如:LISTEN、ESTABLISHED、TIME_WAIT),路由地址,應用使用協議(如:TCP、UDP),IP和埠使用情況等其他網路
深入理解Oracle表(5):三大表連線方式詳解之Hash Join的定義,原理,演算法,成本,模式和點陣圖
Hash Join只能用於相等連線,且只能在CBO優化器模式下。相對於nested loop join,hash join更適合處理大型結果集 Hash Join的執行計劃第1個是hash表(build table),第2個探查表(probe table),
TCP三次握手(建立連線)與四次揮手(釋放連線)詳解
上圖畫出了TCP的建立連線的過程。假定主機A執行的是TCP客戶程式,而B執行TCP服務程式。最初兩端的TCP程序都處於 CLOSED(關閉)狀態。圖中在主機下面的方框分別是TCP程序所處的狀態。請注意,A主動開啟連線,而B被動開啟連線。 B的TCP伺服器程
TCP連線關閉—close和shutdown
先從最右邊的分支說說關閉監聽socket的那些事。用於listen的監聽控制代碼也是使用close關閉,關閉這樣的控制代碼含義當然很不同,它本身並不對應著某個TCP連線,但是,附著在它之上的卻可能有半成品連線。什麼意思呢?之前說過TCP是雙工的,它的開啟需要三次握手,三次握手也就是3個步驟,其含義為:客戶端
TCP協議詳解(含長連線短連線的詳解)
1. TCP連線 當網路通訊時採用TCP協議時,在真正的讀寫操作之前,server與client之間必須建立一個連線,當讀寫操作完成後,雙方不再需要這個連線時它們可以釋放這個連線,連線的建立是需要三次握手的,而釋放則需要4次握手,所以說每個連線的建立都是需要資源消耗和時間消耗的 經典的三次握手示意圖: 經
linux防火牆開啟和關閉詳解
以下兩種方法一、暫時開啟和關閉防火牆 1種 service方式檢視防火牆狀態: [[email protected] ~]# service iptables statusiptables:未執行防火牆。開啟防火牆(即時生效,重啟後失效):[[email
SVN trunk(主線) branch(分支) tag(標記) 用法詳解和詳細操作步驟
trac load mar span 必須 最可 objc copy 右鍵 原文地址:http://blog.csdn.net/vbirdbest/article/details/51122637 使用場景: 假如你的項目(這裏指的是手機客戶端項目)的某個版本(例如1.0
Storm容錯機制Acker詳解和實戰案例
storm acker 失敗重發 可靠性Storm中有個特殊的Executor叫acker,他們負責跟蹤spout發出的每一個Tuple的Tuple樹。當acker發現一個Tuple樹已經處理完成了,它會告訴框架回調Spout的ack(),否則回調Spout的fail()。Acker的跟蹤算法是Storm的主