java网络编程不输出问题

昨天一下午都在调一个代码的错误,端口窗体一直不输出。如果一直不输出,那么有一端窗口已经关闭的可能性比较大。我的程序是因为卡在了一个循环内部,不能继续往下执行。和原来的代码比较了好久都找不到。后来发现在一个该用if语句的地方用了循环语句。

while((s=dis.readUTF())!=null){
    System.out.println(s);
    System.out.println("Address:"+s1.getInetAddress());
    System.out.println("port:"+s1.getPort());

}

因为进入循环之后,Client端口的信息只有输入和不输入两种情况,所以应该在循环内部加入退出条件。 

 int n = 0;

while((s=dis.readUTF())!=null){
    System.out.println(s);
    System.out.println("Address:"+s1.getInetAddress());
    System.out.println("port:"+s1.getPort());

    n++;

    System.out.println(n);

    if(n==3){
     break;

    }
}

 信息传输达到一定次数时,退出循环。我认为如果把while语句改成if语句,则只能执行一次,则显得不如while语句灵活。

猜你喜欢

转载自www.cnblogs.com/hh0326/p/11517813.html