導航:首頁 > 編程語言 > 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異常相關的資料

熱點內容
美國好的源碼出售 瀏覽:323
蘋果ipad文件夾怎麼添加文字 瀏覽:481
騰訊雲連接自己的伺服器地址 瀏覽:216
碩士英語綜合教程pdf 瀏覽:46
分段加密的安全性 瀏覽:507
咪咕直播為什麼沒有適配安卓系統 瀏覽:172
php模版大全 瀏覽:102
沒車能解壓嗎 瀏覽:634
php開發oa系統源碼 瀏覽:759
怎麼安裝蘋果ios的app 瀏覽:581
app拉新如何機刷 瀏覽:480
zendeclipseforphp 瀏覽:480
同時有幾個微信如何加密微信 瀏覽:86
大眾20t壓縮比 瀏覽:566
程序員要記住的500個單詞 瀏覽:830
wq快捷方式在哪個文件夾 瀏覽:965
雲南到河北源碼 瀏覽:92
安卓手機怎麼玩造夢3 瀏覽:60
多玩我的世界盒子怎麼創造伺服器地址 瀏覽:986
手機如何下載米家app 瀏覽:96