Java服务器套接字不接受连接

Java服务器套接字不接受连接,java,sockets,server,client,Java,Sockets,Server,Client,因此,我正在制作一个涉及客户机/服务器连接的程序,但在让它们正常工作时遇到了困难。为了尝试隔离问题,我制作了两个测试程序来尝试建立连接: public static void main(String[] args) { try { System.out.println("here"); Socket s = new Socket(IP, PORT); System.out.println("sent"); } catch(Exception e) {

因此,我正在制作一个涉及客户机/服务器连接的程序,但在让它们正常工作时遇到了困难。为了尝试隔离问题,我制作了两个测试程序来尝试建立连接:

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


它必须仍在侦听,因此无法访问您的代码。

如果不打印一条或另一条消息,您的程序将无法终止。很抱歉,一段时间后客户端程序将“放弃”并打印错误。您的代码对我有效。也许你在运行服务器的计算机上有一个防火墙,可以阻止传入的连接。是的,我想这可能与防火墙有关。您知道关于如何修复它的更多信息吗?当您遇到异常时,请打印异常。不是你自己设计的随机信息。它不包含任何有用的信息,只包含发生错误的信息。你把所有有用的信息都扔掉了。调试时,打印堆栈跟踪。在大多数情况下,它会告诉你你所需要的一切。