一个简单问题:
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class TankServer { private static final int TCP_PORT=5566;
public static void main(String args[]){
try {
ServerSocket ss= new ServerSocket(TCP_PORT);
while(true){
Socket s=ss.accept();
}
System.out.println("已连接!!");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
这里的System.out.println("已连接!!"); 报错但不知道为啥报错
请各位指教一下 谢谢!
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class TankServer { private static final int TCP_PORT=5566;
public static void main(String args[]){
try {
ServerSocket ss= new ServerSocket(TCP_PORT);
while(true){
Socket s=ss.accept();
}
System.out.println("已连接!!");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
这里的System.out.println("已连接!!"); 报错但不知道为啥报错
请各位指教一下 谢谢!
s.close();
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class TankServer { private static final int TCP_PORT=5566; public static void main(String args[]){
try {
ServerSocket ss= new ServerSocket(TCP_PORT);
while(true){
Socket s=ss.accept();
}
//System.out.println("已连接!");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("已连接!");
}
}
这里while(true){ 跳出的条件只有一个,抛异常。但是抛了异常之后就直接跳到} catch (IOException e) {了。
你可以把true替换成一个变量,初始值true,Socket s=ss.accept(); 下边把变量设置为false。
Socket s=ss.accept();
}
这句是死循环,有异常发生才会跳出,但是直接跳到catch里
所以执行不了
System.out.println("已连接!!"); 为不可到达的语句,所以他认为是这句出错了。
Socket s=ss.accept();
}
陷入死循环
无法到达System.out.println("已连接!");这步。