Android 套接字连接

Android Socket Connections

正在尝试 运行 循环检查 IP 是否打开。

for (int z = 0; z < 100; z++) {
    String ip = "10.0.0." + z;
        try {
            log(ip);
            Socket socket = new Socket(ip, MainActivity._util.getPort());
            // Handle Stuff when Exception NOT throw
        } catch (Exception e) {
        }
}

log是我做的函数(没有错误)

.getPort() 只是我定义的 "global" 端口号 编辑:returns 2683(只是一个随机数)

它应该只是捕获异常然后继续 for 循环,但那并没有发生。

目前这只是打印:

10.0.0.0

10.0.0.1

然后冻结。

如果有人有什么建议那就太好了!

编辑

没有套接字服务器监听那些IP和端口。所以你的套接字客户端将被冻结。如前所述 here 您应该为套接字使用另一个构造函数并设置超时以防止冻结。

for (int z = 0; z < 100; z++) {
    String ip = "10.0.0." + z;
        try {
            log(ip);
            Socket socket = new Socket();
            socket.connect(new InetSocketAddress(ip, MainActivity._util.getPort()), 1000);
            // Handle Stuff when Exception NOT throw
        } catch (Exception e) {
        }
}