Midas客戶端異常斷開,服務器端偵測不到
2016-11-27 by:CAE仿真在線 來源:互聯網
從根源上說,這是由于TCP協議的問題。TCP協議的初衷是: 網絡中斷時,仍能維持通信的能力。美國國防部要求能在遭到核打擊或其它災害的時候,仍然能維持計算機之間可靠的網絡通知協議。呵呵,如果客戶端斷開,服務器就馬上釋放連接。還維持什么?和初衷不符吧。要搞清楚客戶端斷開,為什么服務器端不能立即偵測到。這個問題,必須要理解三次握手機制。當然服務器也能偵測到異常斷開,KEEPALIVE的默認時間是2小時喲。詳細的TCP三次握手機制:
客戶端發送一個帶SYN位的請求,向服務器表示需要連接,假設請求序號號為 SYN = 10, ACK=0
服務器接收到這樣的請求后,查看是否在LISTEN的是指定的端口,不然,就發送RST=1應答,拒絕建立連接。 如果接收連接,那么服務器發送確認,SYN為服務器的一個內碼,假設為100,ACK位則是客戶端的請求序號加1,本例中發送的數據是:SYN=100,ACK=11,用這樣的數據發送給客戶端。
客戶端發送確認建立連接的消息給服務器。確認信息的SYN位是服務器發送的ACK位,ACK位是服務器發送的SYN位加1 。
如果TCP連接第三次握手中,用戶向服務器發送了一個SYN后就掉線了(第一步)。服務器發出SYN+ACK應答報文(第二步)。然后就再也無法收到客戶端的ACK報文的。這種情況下,服務器就不斷的重試,(再次發送SYN+ACK給客戶端),直到超時。注意:服務器是接收到SYN請求就立即與客戶端建立連接,而是先為連接請求分配內存空間,建立會話,并放到一個等待隊列中。如果,這個等待的隊列已經滿了,那么,服務器就不在為新的連接分配任何東西,直接丟棄新的請求。這就是服務器的拒絕服務了。
開放分享:優質有限元技術文章,助你自學成才
相關標簽搜索:Midas客戶端異常斷開,服務器端偵測不到 Midas Civil分析 Midas Civil培訓 Midas Civil培訓課程 Midas Civil在線視頻教程 Midas Civil技術學習教程 Midas Civil軟件教程 Midas Civil資料下載 Midas Civil代做 Midas Civil基礎知識 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓
編輯