Java while循环只执行一次

Java while循环只执行一次,java,Java,我编写了一个简单的服务器应用程序,如下所示。 我在run()中有一个while循环,但它似乎只执行了一次try块。我希望程序不断地发出“再见”的声音。我如何让它这样做 import java.net.*; import java.io.*; public class GreetingServer extends Thread { private ServerSocket serverSocket; public GreetingServer() throws IOExceptio

我编写了一个简单的服务器应用程序,如下所示。 我在run()中有一个while循环,但它似乎只执行了一次try块。我希望程序不断地发出“再见”的声音。我如何让它这样做

import java.net.*;
import java.io.*;

public class GreetingServer extends Thread
{
   private ServerSocket serverSocket;

   public GreetingServer() throws IOException
   {
      serverSocket = new ServerSocket(5063);
      serverSocket.setSoTimeout(0);
   }

   public void run()
   {
      while(true)
      {
         try
         {
            System.out.println("Waiting for client on port " +
                        serverSocket.getLocalPort() + "...");

        Socket server = serverSocket.accept();

        System.out.println("Just connected to "
                                + server.getRemoteSocketAddress());

            DataOutputStream out = new DataOutputStream(server.getOutputStream());

            out.writeUTF("\nGoodbye!");
            //server.close();
         }
     catch(SocketTimeoutException s)
         {
            System.out.println("Socket timed out!");
            break;
         }
     catch(IOException e)
         {
            e.printStackTrace();
            break;
         }
     continue;
      }
   }
   public static void main(String [] args)
   {
      try
      {
         Thread t = new GreetingServer();
         t.start();
      }
      catch(IOException e)
      {
         e.printStackTrace();
      }
   }
}

我认为你得到了例外,所以取消中断;从catch block

我认为你得到了异常,所以移除中断;从catch块

中,您肯定会得到异常检查您的日志猫在eclipse中是否存在异常。
然后找到该异常的解决方案:)

您肯定会遇到异常,请在eclipse中检查日志以查找异常。
然后找到该异常的解决方案:)

从catch块中删除
break
语句

从catch块中删除
break
语句

从catch块中删除这些中断!从catch块中删除这些中断。您是否获得异常您可能会在catch中获得一些异常并中断循环!