所以我正在構建一個小型聊天應用程序,但我在設置我的服務器時遇到了一些麻煩。下面的代碼是我在我的服務器線程的構造函數:嘗試創建流時產生無限循環
public ServerThread() {
System.out.println("Before");
try {
ServerSocket serverSocket = new ServerSocket(3500);
socket = serverSocket.accept();
System.out.println("After");
outputStream = new ObjectOutputStream(socket.getOutputStream());
inputStream = new ObjectInputStream(socket.getInputStream());
} catch (Exception e) {
e.printStackTrace();
}
executor = Executors.newFixedThreadPool(3);
connected = true;
}
正如你可以看到我有2幅版畫,「之前」和「之後這兩者之間,東西happends導致程序進入無限循環。 socket = serverSocket.accept();
我也無法捕捉到這個例外,不知道這裏有什麼問題
你甚至知道'accept()'做什麼嗎? –
提示:嘗試在3500上連接到正在運行的服務器,並且看到「無限循環」畢竟不是那麼無限。 – dasblinkenlight
服務器套接字**等待**請求通過網絡進入。 您的'serverSocket.accept();'將等待連接完成 –