[英]while loop is executing only once
我編寫了下面提供的簡單服務器應用程序。 我在run()中有一個while循環,但似乎只執行一次try塊。我希望程序連續不斷吐出“ GoodBye's”。我該怎么做呢?
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();
}
}
}
您肯定會得到異常檢查eclipse中的logcat是否存在異常。 然后找到該異常的解決方案:)
我認為您正在獲得例外,因此請刪除休息時間; 從捕獲塊
從catch塊中刪除break
語句
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.