所以我正在构建一个小聊天应用程序,但是我在设置我的服务器时遇到了一些麻烦。下面的代码是我在服务器线程中的构造函数:
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;
}
正如你所看到的,我有两个打印,“之前”和“之后”。在这两个之间,发生了一些事情,导致程序进入无限循环。socket = serverSocket.accept();
我也捕捉不到异常。不确定这里出了什么问题。
发布于 2016-12-15 19:42:43
(我还不能评论)但是accept()将会阻塞,直到建立一个连接为止。这也不是一个无限循环,只是方法会阻塞,直到某个东西连接到该套接字。
您确定您的客户端连接正常吗?
https://stackoverflow.com/questions/41163216
复制相似问题