Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android套接字连接_Java_Android_Sockets_Exception_Freeze - Fatal编程技术网

Java Android套接字连接

Java Android套接字连接,java,android,sockets,exception,freeze,Java,Android,Sockets,Exception,Freeze,尝试运行循环以检查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

尝试运行循环以检查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) {
        }
}
然后冻结

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

编辑

  • 使用socket.connect(新的InetSocketAddress(ip,端口),超时)方法仍然无法正确处理

  • 这是在doInBackground()方法中的AsyncTask扩展类中


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

      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) {
              }
      }
      
      for(intz=0;z<100;z++){
      字符串ip=“10.0.0.”+z;
      试一试{
      日志(ip);
      套接字=新套接字();
      connect(新的InetSocketAddress(ip,MainActivity.\u util.getPort()),1000);
      //当异常未抛出时处理内容
      }捕获(例外e){
      }
      }
      
      此处的端口:**MainActivity.\u util.getPort()***当您在for循环中时,该int是否有可能更改其值???当ip为false时可能是异常情况?@jgm假ip是什么意思?首先,不要在每次迭代中创建套接字。此外,还有一个最后的{socket.close()}在这里调用此代码?它在活动吗?
      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) {
              }
      }