Java 为什么ServerSocket.accept()不起作用?

Java 为什么ServerSocket.accept()不起作用?,java,sockets,serversocket,Java,Sockets,Serversocket,在我问这个问题之前,我想道歉,因为我不知道这里出了什么问题,所以我只是提前说,这可能是一个令人头痛的问题 public void setUp(){ try { port = Integer.parseInt(JOptionPane.showInputDialog("Enter the port to host server on")); server = new ServerSocket(port); System.out.println(

在我问这个问题之前,我想道歉,因为我不知道这里出了什么问题,所以我只是提前说,这可能是一个令人头痛的问题

public void setUp(){
    try {
        port = Integer.parseInt(JOptionPane.showInputDialog("Enter the port to host server on"));
        server = new ServerSocket(port);
        System.out.println(server.getLocalPort());
        connection = server.accept();
        out = new PrintWriter(connection.getOutputStream());
        in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        connected = true;
        loop();
    } catch (Exception e) {
        connected = false;
        System.err.println(e.getMessage());
        JOptionPane.showMessageDialog(null, "Something went wrong there, be sure to use syntax:\nport: 1337\nMaybe the selected port is in use?");
        System.exit(-1);
    }
}
上面的代码应该使我可以建立一个基本的服务器,任何客户端都可以连接,我不认为客户端代码在这个时候是相关的,但如果它是必要的,那么请询问

不管怎样,我的问题是,当我调用这个方法时,它会一直运行良好,直到找到为止

connection = server.accept();
然后这个方法就好像我输入了return

有人能告诉我为什么会发生这种情况,以及如何修复它吗

还请注意

端口=端口的整数 服务器=服务器套接字 连接=插座 输出=打印写入程序 in=缓冲读取器
connected=boolean

可能它看起来只是因为
connection=server.accept()而结束
将使线程等待客户端连接。

可能它看起来只是因为
连接=服务器.accept()将使线程等待客户端连接。

可能只是因为
connection=server.accept()将使线程等待客户端连接。你有什么错误信息吗?好的,我会调查一下。啊,把它作为一个答案发布,这样我就可以接受了,非常感谢这个社区从未让我失望过!:)可能它看起来只是因为
connection=server.accept()而结束的将使线程等待客户端连接。你有什么错误信息吗?好的,我会调查一下。啊,把它作为一个答案发布,这样我就可以接受了,非常感谢这个社区从未让我失望过!:)