pos機tcp連接斷開
瀏覽:97
發布日期:2023-05-14 00:00:00
投稿人:佚名投稿
1、銀收寶連pos機顯示設備斷開怎么弄
請重新連接。請先開否開啟手機藍牙功能,或檢查設備電量是否充足。手機設置對軟件的藍牙授權是否開啟.蘋果手機沒有權限問題,安卓手機在設置。檢查周圍是與多部手機開啟藍牙。關閉其他手機的藍牙功能,只開啟一部手機的藍牙。請嘗試重新拔插刷卡器,重新打開軟件或重啟手機。
2、TCP連接中斷檢測時間
TCP連接中斷檢測時間這個問題得分情況來說:
1、雙方只建立了一個連接,然后就再也沒有任何數據通信,這完全是可能的。這時,tcp有一個保活定時器,它的作用就是確認對端是否存活,通常它沒2個小時發送一個數據包給對方,以查看是否有響應。
2、tcp中斷,此時發送端發送數據,但是由于收不到ACK,它會一直嘗試,通常的時間間隔為1s, 3s, 6s, 12s ..... 64s,這個間隔被稱為"指數退避",到最后,通常在9分鐘后放棄(這個值看實現有可能不同)。
3、tcp中斷,在這個過程中,路由器檢測到主機不可達,當發送數據后會返回一個icmp信息,顯示主機不可達,這個通常很快就能檢測出來。 這個問題得分情況來說:
1、雙方只建立了一個連接,然后就再也沒有任何數據通信,這完全是可能的。這時,tcp有一個保活定時器,它的作用就是確認對端是否存活,通常它沒2個小時發送一個數據包給對方,以查看是否有響應。
2、tcp中斷,此時發送端發送數據,但是由于收不到ACK,它會一直嘗試,通常的時間間隔為1s, 3s, 6s, 12s ..... 64s,這個間隔被稱為"指數退避",到最后,通常在9分鐘后放棄(這個值看實現有可能不同)。
3、tcp中斷,在這個過程中,路由器檢測到主機不可達,當發送數據后會返回一個icmp信息,顯示主機不可達,這個通常很快就能檢測出來。 1秒以內。
3、銀聯POS刷卡后顯示tcp連接失敗
你好,1,需要升級,需要用管理員賬戶進去,不是01和0000,請詢問你的服務商
現在詢頭橡知道最低費率的POS機的。 移動機還是固定機。移動機可能是里面的流量卡沒費了。固定了可能是線路問題或者是網線電話欠費
4、求教tcp短連接斷開后如何重連的問題
理想狀態下,一個 TCP 連接可以被長期保持。然而,在實際應用中,客戶端或服務器端上維持的一個看似正常的 TCP 連接可能已經斷連。TCP 連接主要受到兩個方面的影響而導致斷連:網絡中間節點和客戶端 / 服務器節點參與通信的兩方節點?在
實際網絡應用中,兩個主機之間的通信往往需要穿越多個中間節點,例如路由器、網關、防火墻等。因此,兩個主機之間 TCP
連接的保持同樣會受到中間節點的影響,尤其是會受到防火墻(軟件或硬件防火墻)的限制。防火墻是一種裝置,有多種不同的實現方式(軟件實現、硬件設備實現
或是軟硬件相結合實現),它需要依據一系列規則對進出的信息流進行掃描,并允許安全(符合規則)的信息交互、阻止不安全(違反規則)的信息交互。防火墻的
工作特性決定了要維護一個網絡連接就需要耗費較多的資源,并且企業防火墻常常位于企業網絡的出入口,長時間維護非活躍的 TCP
連接必將導致網絡性能的下降。因此,大部分防火墻默認會關閉長時間處于非活躍狀態的連接而導致 TCP
連接斷連。類似的,如果中間節點異常導致來自客戶端關閉連接的請求無法傳遞到服務器端,也將導致服務器端的相應連接發生斷連。
5、tcp連接的斷開
TCP的斷開就是經過四次揮手:這是正常的情況,客戶端主動tcp連接斷開的過程。客戶端先是發送一個FIN為一的報文,然后進入FIN_WAIT_1的狀態。
服務器收到FIN報文后,發送一個ACK報文,然后進入CLOSED_WAIT狀態。
客戶端收到服務器的ACK報文進入FIN_WAIT_2狀態。
等到服務器覺得他數據處理好了,可以關閉的時候,會發送一個FIN報文,然后進入LAST_ACK。等待最后一個應答。
讓客戶端收到服務器FIN報文,就進入TIME_WAIT狀態了,隨后發送最后一個ACK報文,然后close。
客戶端再等待2msl后也自己主動關閉。而只有主動關閉的情況下,才會有TIME_WAIT。
那么為什么四次揮手需要四次呢?
三次握手其實就是在第二次把ACK和SYN兩個報文合并成一個發,但是斷開的過程可能還有一方需要處理下數據,需要延長點時間,等處理好再發FIN,所以就比三次握手多了一次。
這里還有一個問題,為什么需要TIME_WAIT,然后到close需要2msl的時間呢?
先說下什么是MSL,也就是報文的最長生存時間,超過這個時間的報文就要被丟棄掉。tcp是基于ip的,ip上有個生存時間TTL,是ip報文可以經過的最大路由數量,每經過一個路由就減1,減到0,ip報文就丟棄掉,然后通過ICMP通知源主機,我們的ping也算是經過這個。當然msl和ttl還是有區別的,msl是時間,ttl是路由數量,msl也是大于等于ttl的。在linux中,2msl默認是60秒。
前文也說了,只有主動發起斷開連接的進程才會有time wait狀態。time wait+2msl有兩個原因:
1.防止舊連接的數據包
像這個seq 301的包,如果因為網絡的原因被延遲了,而沒有time wait或者很短,那么連接斷開后,又建立新的連接,這個時候這個包到了,可能就導致數據紊亂了。而2msl可以保證兩個方向的包在斷開前丟棄掉。
2.保證正確的斷開連接
2msl的時間也是保證第四個報文的ack可以被被動關閉方接收到。
如圖,假設time wait比較短或者沒有,當最后的ack報文丟失的時候。客戶端已經close了,而服務器一直處于last ack的狀態。這樣連接就不能正常斷開了。而如果有time wait +2msl這個情況就可以避免。假設服務器沒有收到最后一個ack報文,服務器會重發FIN等待客戶端的ack。
這樣就可以保證不會出現一端斷開,另外一端沒有斷開的情況了。
有時候我們在服務器上會看到很多time wait。time wait一般就是服務器主動發起的斷開請求才會產生的狀態。所以time wait過多,第一個是系統資源會大量消耗,還有是端口如果占的太多,會導致沒辦法創建新連接。這個時候可以把linux的net.ipv4.tcp_tw_reuse開啟,置為1,可以復用time wait超過1秒的連接。
這邊再說說tcp的保活機制。也就是怎么長期維持客戶端和服務端的連接。
在一個時間段內,如果沒有連接等相關活動,tcp的保活機制會定期發探測報文,如果連續幾個探測報文就沒有回應,就將錯誤信息報告給系統,系統通知上層應用。
在 Linux 內核可以有對應的參數可以設置保活時間、保活探測的次數、保活探測的時間間隔,以下都為
默認值:
tcp_keepalive_time=7200:表示保活時間是 7200 秒(2⼩時),也就 2 小時內如果沒有任何連接
相關的活動,則會啟動保活機制
tcp_keepalive_intvl=75:表示每次檢測間隔 75 秒;
tcp_keepalive_probes=9:表示檢測 9 次無響應,認為對⽅方是不不可達的,從⽽而中斷本次的連接。
也就是說在 Linux 系統中,最少需要經過 2 小時 11 分 15 秒才可以發現一個「死亡」連接。
當然這個時間也可以自己配置。

轉載請帶上網址:http://www.yadikedp.com/posjitwo/143766.html
- 上一篇:濟南樂刷pos機
- 下一篇:pos機錯誤代碼104怎么解決
相關文章推薦
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 [email protected] 舉報,一經查實,本站將立刻刪除。