如何判断服务器套接字是否不可用?

时间:2019-05-30 08:20:11

标签: java android sockets

socket客户端正在android上运行:

try {
    socketClient = new Socket(host, port);

    //set socket input
    in = socketClient.getInputStream();
    dIn = new DataInputStream(in);

    //set socket output
    out = socketClient.getOutputStream();
    dOut = new DataOutputStream(out);

    int c = 0;
    String data = "";

    while ((c = dIn.read()) != -1) {
       //print data
    }
} catch (Exception e) {
    //close connection
}

我的服务器在python上运行,并且一切正常,除非直到服务器未运行,而且当我尝试连接到服务器时,需要两分钟的时间来捕获服务器不可用的错误
我该如何减少时间,例如在10秒内捕获错误

1 个答案:

答案 0 :(得分:1)

According to this answer

使用

--rebuild

代替

Socket socketClient = new Socket();   
socketClient.connect(new InetSocketAddress(host, port),connection_time_out)

connection_time_out =限制在拒绝连接或服务器不存在的情况下建立连接所允许的时间。