我正在使用isReachable()方法,并且试图通过我的Android手机访问本地网络上的PC。当PC上的防火墙打开时,它返回false;当防火墙关闭时,它返回true。我试图创建一个新规则以允许防火墙上的端口7(回显)。但这没有用。有人可以帮我在防火墙打开时如何允许isReachable()返回true吗?

最佳答案

documentation表示:


  如果特权,典型的实现将使用ICMP ECHO REQUEST。
  可以获得,否则它将尝试建立TCP连接
  在目标主机的端口7(Echo)上。


然后,您需要确保防火墙允许ICMP ECHO。

另外,如果您有另一台PC上正在运行的服务,则尽管Socket返回的值也可以尝试打开isReachable

10-04 14:55