gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 07:43:47 24 4
gpt4 key购买 nike

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

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 一样; !

谁能告诉我为什么会发生这种情况以及如何解决它?

另请注意

port = 端口的整数服务器=服务器套接字连接=套接字输出=PrintWriterin = BufferedReader连接= boolean 值

最佳答案

也许它看起来只是结束了,因为connection = server.accept();会让线程等待客户端连接。

关于java - 为什么 ServerSocket.accept() 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11215264/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com