如何解決ConnectionError
例如我們線上的網關日志就會拋該錯誤:
155739_bWFp_1990220.png
從日志中可以看到是Socket套接字在read數據時拋出了該錯誤。
導致“Connectionreset”的原因是服務器端因為某種原因關閉了Connection,而客戶端依然在讀寫數據,此時服務器會返回復位標志“RST”,然后此時客戶端就會提示“java.net.SocketException:Connectionreset”。
可能有同學對復位標志“RST”還不太了解,這里簡單解釋一下:
TCP建立連接時需要三次握手,在釋放連接需要四次揮手;例如三次握手的過程如下:
第一次握手:客戶端發送syn包(syn=j)到服務器,并進入SYN_SENT狀態,等待服務器確認;
第二次握手:服務器收到syn包,并會確認客戶的SYN(ack=j+1),同時自己也發送一個SYN包(syn=k),即SYN+ACK包,此時服務器進入SYN_RECV狀態;
第三次握手:客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ack=k+1),此包發送完畢,客戶端和服務器進入ESTABLISHED(TCP連接成功)狀態,完成三次握手。
可以看到握手時會在客戶端和服務器之間傳遞一些TCP頭信息,比如ACK標志、SYN標志以及揮手時的FIN標志等。
除了以上這些常見的標志頭信息,還有另外一些標志頭信息,比如推標志PSH、復位標志RST等。其中復位標志RST的作用就是“復位相應的TCP連接”。
Connectionreset異常的一種解決辦法
最近壓測時,服務端系統出現了“Connectionreset”的異常,原因是服務器關閉了Connection[調用了Socket.close()方法]。當檢查了應用中沒有顯示關閉的鏈接的代碼后,調系統內核的參數后壓測再無報錯:
a.進入:vim/etc/sysctl.conf
b.添加:net.core.somaxconn=2048該參數默認為128,根據實際場景調大
c.執行sysctl-p命令
d.(可選)查看sysctl-a|grepsomaxconn
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
工商銀行貸款利息多少?1、一次性還款:利息為貸款本金*利率*貸款的期數;2、分期付款:如果是使用等額本息計息,那每月的還款利息是本金月利率*[ (1 +月利率) ^還款月數]/[ (1+月利率) ) ^還款月數-1]。如果使用等額本金的方法計息,每月要還的利息為(本 金/還款月數) +(本金-已經歸還的所有金額)每月利率。工商銀行小額貸款利率多少?工商銀行小額貸款利率多少,根據用戶的申請的貸款期限...
渣打銀行網申如何提高申請成功率?1.了解渣打銀行的申請條件和流程渣打銀行有嚴格的申請條件,包括年齡、收入證明、信用記錄等。用戶在申請前要先了解自己是否符合銀行的條件。申請時還需填寫詳細的個人資料,如姓名、身份證號碼、職業、聯系方式等,填寫時要確保正確無誤。此外,用戶還需要提供相應的證明文件,如收入證明、居住證明等。申請流程也需要注意,不同的業務流程可能存在差異。2.保持良好的信用記錄在申請渣打銀行...
股市5000點是哪年?股市5000點的意思是上證指數到5000點,上證指數有3次站上5000點,之一次是2007、第二次是2008年,第三次是2015年。第一次:2007年8月23日,上證指數首次站上5000點,而后一路上行,2007年10月16日達到上證指數目前頂峰6124.04點,2007年11月22日站上5000點后,首次跌破5000點。第二次:2008年1月14日,上證指數更高至5522....