導航:首頁 > 編程語言 > javasocket異常

javasocket異常

發布時間:2022-08-13 19:56:49

java中使用Socket連接,關閉是出異常如何處理

你光有try catch,但實際並未對產生的網路異常進行處理,然後繼續循環,那自然是無限異常下去了。只要在catch到異常後進行相應處理即可,比如關閉連接,然後退出。在服務端,客戶端都加上這個處理,比如在客戶端加,如下

publicvoidrun()
{
while(true)
{
Useru=newUser();
u.setName("1");
ObjectOutputStreamoos;
try
{

oos=newObjectOutputStream(s.getOutputStream());
oos.writeObject(u);
}
catch(Exceptione)
{
//TODOAuto-generatedcatchblock
e.printStackTrace();

//注意,這邊會看到顯示的是true,因為對方並沒有調用close來關閉連接,而是直接終止程序
System.out.println(s.isConnected());

if(s!=null)
{
try
{
s.close();
s=null;
}
catch(Exceptionex)
{
ex.printStackTrace();
}

System.out.println("遠程連接異常,關閉連接");
return;
}
}
}
}

註:

你的這種情況即不能用u=ois.readObject())!=null來判斷,也不能用s.isConnected&&!s.isColse()來判斷,因為你是直接終止服務端或者客戶端的運行,而不是先close連接,再終止程序。

㈡ java里socket通信,異常處理問題。

直接用這種方式處理:

while(true){
socket=newSocket(("192.168.183.1",9002);
socket.setSoTimeout(5000);//5000ms=5s
try{
socket.connect();
}catch(IOExceptione){
//這行寫你提示通信失敗提示
continue;
}
}

㈢ Java socket 編程 連接失敗!

如果是不停的發送數據,你可以維持一個socket長連接,當客戶端連接上發送完數據後不要關閉socket,繼續發送握手信息以維持連接。客戶端很多的話就用線程池ThreadPoolExecutor.
具體資料:

㈣ java異常處理:關於Socket編程的

當輸入過程中意外到達文件或流的末尾時,拋出此異常。 此異常主要被數據輸入流用來表明到達流的末尾。注意,其他許多輸入操作返回一個特殊值表示到達流的末尾,而不是拋出異常。
代碼太少,無法再細說了。

㈤ java.net.SocketTimeoutException: Read timed out

具體的解決方法如下:


修改tomcat配置文件server.xml,找到類似於下面配置:

<Connector port="8086" maxHttpHeaderSize="8192"。

maxThreads="150" minSpareThreads="25" maxSpareThreads="75"。

enableLookups="false" redirectPort="8443" acceptCount="100"。

connectionTimeout="20000" disableUploadTimeout="true" /> 。

將上面的參數disableUploadTimeout值改為false即可。

閱讀全文

與javasocket異常相關的資料

熱點內容
jquery源碼講解 瀏覽:280
寶馬app如何發帖 瀏覽:861
重慶伺服器託管商雲空間 瀏覽:439
浦發銀行app如何調流水 瀏覽:677
玉石鑒賞pdf 瀏覽:842
為什麼小度APP一直連不上網路 瀏覽:163
pdf模板java 瀏覽:40
現代瑞納的壓縮比 瀏覽:128
網吧里的ftp伺服器有什麼用 瀏覽:872
程序員年終總結工作體會 瀏覽:153
pdf可以直接列印 瀏覽:661
android刷wp8 瀏覽:912
歷史地圖集pdf 瀏覽:926
快手app極速版怎麼掃碼 瀏覽:805
qq程序員玩法 瀏覽:96
1是什麼門電路app 瀏覽:867
博之輪運動手錶用什麼app 瀏覽:646
asp視頻聊天源碼 瀏覽:85
網路游戲編程pdf 瀏覽:534
360壓縮出錯 瀏覽:848