socket无法从服务端判断是否客户端已启动。
此处代码是服务器端的,用于传输文件
try {
System.out.println("11111");
socket = serverSocket.accept(); // 等待客户端连接
System.out.println("22222");
} catch (Exception e) {
System.out.println("33333");
continue;
}finally{
System.out.println("44444");
}
当客户端启动了,此处打印:11111,22222,44444
当只启动服务端,此处只打印:11111。
我想判断socket = serverSocket.accept(); 和客户端连接是否成功。
例如:
socket = serverSocket.accept(); // 等待客户端连接
if(连接成功){
}else{
}
现在问题是如果与客户端
连接失败,则socket = serverSocket.accept(); // 等待客户端连接
下面就不执行了。
------解决方案--------------------当然不执行了,这才合理。
serverSocket.accept(); 是一阻塞方法,就是在等待客户端接入。没有请求就等待,
有了请求后再做业务处理。
------解决方案--------------------至于你这个判断,没用。到了accept之后,自然就是连接成功了。
if(连接成功){
}else{
}
------解决方案--------------------