服务器
ServerSocket server = new ServerSocket(9999,50,InetAddress.getLocalHost());
System.out.println(server.getInetAddress()); //prints 192.168.1.109
Socket client = server.accept();
客户端
Socket socket = new Socket(InetAddress.getByName("192.168.1.109"),9999);
如果我从计算机运行客户端和服务器,它可以工作,但如果我在同一网络上的移动设备上运行客户端则不行。我想上次我通过将Socket连接到公共IP地址并使用端口转发来解决这个问题,但是它有什么原因使它不能使用本地地址?我该怎么做才能解决这个问题?
答案 0 :(得分:1)
也许您在服务器上运行的防火墙阻止了从localhost以外的主机到端口9999的连接?