我正在尝试通过我的朋友系统(充当客户端)的 Java 套接字连接我的系统(充当服务器)。两个系统(Mac OS)都打开了防火墙。以下是服务器和客户端的代码:
服务器:
public static void main(String args[]) throws IOException {
ServerSocket s = new ServerSocket(49884);
System.out.println("Waiting for acceptance...");
Socket s1 =s.accept();
System.out.println("Accepted");
}
客户:
public static void main(String args[]) throws IOException {
Socket s1 = new Socket("10.13.12.78",49884);
}
如果我在我的系统上运行这两个程序,它就可以工作。但是当我从另一个系统运行客户端程序时,无法建立连接并且也没有抛出异常,两个程序都处于等待状态。
是不是因为防火墙打开了?我如何确认这是因为防火墙?如果是这样,是否有任何技术可以测试套接字程序,因为我们无权更改防火墙设置?
提前致谢。