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()而结束的代码>将使线程等待客户端连接。你有什么错误信息吗?好的,我会调查一下。啊,把它作为一个答案发布,这样我就可以接受了,非常感谢这个社区从未让我失望过!:)