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