天天看點

異常:Connection reset by peer: socket write error

一、第一反應

考慮:因為異常出現在報表的功能子產品中,并且是在查詢結果數量比較大的時候才出現,于是思維固化的認為是報表填充的問題。

懷疑:報表工具不可能填充1W條記錄就挂掉吧?

二、google該異常的解釋:

當用戶端送出請求(request)後,如果還沒有完全獲得服務端的響應(response),用戶端與伺服器段的連接配接斷開(例如斷網、按了“停止”按鈕、或者用戶端浏覽器關閉等),伺服器端就會抛出此Exception。

出現Connection reset by peer的原因可能是多方面的,通常原因是: 

1、伺服器的并發連接配接數超過了其承載量,伺服器會将其中一些連接配接Down掉; 

2、客戶關掉了浏覽器,而伺服器還在給用戶端發送資料; 

3、浏覽器端按了Stop 

逐條被排除。

三、郁悶的過程中,繼續其他任務。發現form表單送出出現了亂碼,原來是ajaxForm送出引起的,再一看

var options = {
	 success:      showResponse,
	 url:       '${ctx}/report/exportReportToHtml.action', 
	 timeout:   1000 
}; 

$('#filter_form').ajaxForm(options); 
		    
$("#filter_search").click(function(){
	
});      

原因:原來是ajax送出的時候,設定了timeout:1000,悲憤!

繼續閱讀