在服務(wù)器的循環(huán)語句中,這段代碼只能進行服務(wù)器的一次響應(yīng)try{ while(true){
**serversocket=new ServerSocket(6000);**
socket=serversocket.accept();
Thread workthread=new Thread(new ClientRun(socket));
workthread.start();
}
}
catch(IOException e){
}
finally{
}當將serversocket=new ServerSocket(6000);取出循環(huán)后,服務(wù)器就能進行多次響應(yīng),這是為啥呢。。。try{ **serversocket=new ServerSocket(6000);**
while(true){
serversocket=new ServerSocket(6000);
socket=serversocket.accept();
Thread workthread=new Thread(new ClientRun(socket));
workthread.start();
}
}
catch(IOException e){
}
finally{
}
2 回答
一只甜甜圈
TA貢獻1836條經(jīng)驗 獲得超5個贊
你將這個serversocket=new ServerSocket(6000);放在where循環(huán)里面,第二次會出現(xiàn)異常的,但是catch里沒有把異常打印出來。
出現(xiàn)異常是因為,監(jiān)聽了6000端口,然后將socket請求交給線程處理,線程處理完與否,程序的又開始重新監(jiān)聽6000端口,這個時候會出現(xiàn)異常的。
正確的寫法是要把這一句放在where循環(huán)外面的。
添加回答
舉報
0/150
提交
取消
