TCP window full和TCP zerowindow問題

問題描述:
此前在對接視頻平臺過程中,獲取的視頻超過7路,會出現TCP window full的錯誤,然後獲取的視頻流會斷掉。

產生問題的原因:
業務處理過程中速度不夠,導致客戶端向服務端發送零窗口的錯誤,最終導致服務端端口卡死。只有等到socket關閉,服務器端的業務纔會恢復。

現象:
出現斷流後,從客戶端獲取的視頻平臺碼流也斷了,說明端口被堵住了。重啓程序或客戶端(關閉socket連接)後視頻業務纔會恢復。

	我所開發的程序中,所用的內存池是多線程共用的,這樣線程越多,同步所耗費的時間就越多,最終導致業務處理不及時,出現TCP堵塞。
	最後把多線程共用的內存池改爲線程獨立擁有各自的內存池後解決該問題。

參考文章:
1、碼流回調過快導致下方處理不及時socket阻塞問題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章