timeout是什么引起的?
Java socket有如下两种timeout:
建立连接timeout,暂时就叫 connect timeout;
读取数据timeout,暂时就叫so timeout。
建立连接connect timeout
当不设置该参数时,指客户端请求和服务端建立tcp连接时,会一直阻塞直到连接建立成功,或抛异常。当设置了connectTimeout, 客户端请求和服务端建立连接时,阻塞时间超过connectTimeout时,就会抛出异常。