Socket / ServerSocket连接在同一网络上的设备之间不起作用

时间:2015-09-08 03:13:57

标签: java sockets

服务器

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地址并使用端口转发来解决这个问题,但是它有什么原因使它不能使用本地地址?我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:1)

也许您在服务器上运行的防火墙阻止了从localhost以外的主机到端口9999的连接?