所以我正在制作一个涉及客户端/服务器连接的程序,但我在让它们工作时遇到了困难。为了尝试隔离问题,我制作了两个测试程序来尝试建立连接:
public static void main(String[] args) {
try {
System.out.println("here");
Socket s = new Socket(IP, PORT);
System.out.println("sent");
}
catch(Exception e) {
System.out.println("Client Error");
}
}
public static void main(String[] args) {
try {
ServerSocket s = new ServerSocket(8921);
Socket a = s.accept();
System.out.println("accepted");
}
catch(Exception e) {
System.out.println("Server Error");
}
}
端口值是我随机选择的,所以如果有更好的选择方法,请告诉我。 IP 地址是机器的 IPv4 地址。我在不同的计算机上运行这些程序,但打印都没有被接受或发送。但是,两条错误信息都没有打印出来,这导致我们认为接受时出现了问题?有谁知道如何解决这一问题?谢谢
最佳答案
它没有打印任何内容,因为 s.accept() “监听与此套接字建立的连接并接受它。” - JavaDoc
它必须仍在监听,因此您的代码无法访问。
关于Java Serversocket不接受连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32427339/