socket 通信進程中的常見問題

相信開發socket的初學者肯定會遇到以下一些常見的問題:

1.客戶端接收數據超時導致客戶端無響應,一段時間後,彈出進程錯誤?

問題分析:造成改問題主要有兩個方面,一個是服務器繁忙,沒有及時的返回數據;二是服務器有返回數據,但是由於網絡繁忙,客戶端沒能及時接收到數據。開始,程序在等待數據接收,從用戶的視覺則是卡機狀態,當長時間沒有響應後,在系統保護機制下,系統會自動發送一個singal3信號殺掉該進程,此時會彈出一個詢問是否關閉程序的進程錯誤對話框。

問題解決:自設超時時間,避免延時過長造成卡機的假現象,同時逃避系統的查殺。

使用異常處理方法,Catch到超時錯誤,並通知用戶訪問超時。


2.服務器接收數據超時導致服務器崩潰:

問題分析:

成該

題主

是由

網絡繁忙,和網絡信號不

好,導致服務器一直處在

數據接收的狀態,超出服

務器的超時時間後,服務

器會崩潰。

慮到

問題

出現

用戶是隱形的,即出現該

問題時,用戶不會察覺到

是服務器出現崩潰,而只

會看到網絡繁忙的提醒。

成該

題主

是由

網絡繁忙,和網絡信號不

好,導致服務器一直處在

數據接收的狀態,超出服

務器的超時時間後,服務

器會崩潰。

慮到

問題

出現

用戶是隱形的,即出現該

問題時,用戶不會察覺到

是服務器出現崩潰,而只

會看到網絡繁忙的提醒。

造成該問題主要是由於網絡繁忙和網絡信號不好,導致服務器一直處在數據接收的狀態,超出服務器的超時時間後,服務器會崩潰;

考慮到這問題的出現對用戶是隱形的,即出現該問題時,用戶不會察覺到是服務器出現崩潰,而只會看到網絡繁忙的提醒。

解決辦法:使用子線程

3.IP服用是服務器崩潰:

解決辦法:服務器採用多線程機制;

儘量避免特殊的網路環境;


成該

題主

是由

網絡繁忙,和網絡信號不

好,導致服務器一直處在

數據接收的狀態,超出服

務器的超時時間後,服務

器會崩潰。

慮到

問題

出現

用戶是隱形的,即出現該

問題時,用戶不會察覺到

是服務器出現崩潰,而只

會看到網絡繁忙的提醒。

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