我有一个JavaFX应用程序,并通过单击Button调用以下代码。
new Thread(() -> {
ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket(4558);
Socket accept = serverSocket.accept();
} catch (IOException e) {
e.printStackTrace();
}
}).run();
使用该线程,我想防止UI冻结,但在serverSocket.accept()之后,应用程序未返回任何反馈。
端口未阻塞。
有人知道为什么吗?
提前致谢!
最佳答案
启动Thread
时,请勿调用run()
方法,而应调用start()
方法。
代码如下:
new Thread(() -> {
ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket(4558);
Socket accept = serverSocket.accept();
} catch (IOException e) {
e.printStackTrace();
}
}).start(); // was run();
关于java - Java服务器监听后应用程序挂断,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55736463/