关于网络异常,导致阻塞的问题

1、机房被攻击,导致网络异常,使用 apache 的 httpclient 抓数据,导致程序阻塞,假死

原因:使用httpclient没有设置 connectTimeout 和 socketTimeout 的超时时间,而默认值为

this.connectTimeout = -1;
this.socketTimeout = -1;

解决方案:程序中最好设置connectTimeout、socketTimeout,可以防止阻塞。 
如果不设置connectTimeout会导致,建立tcp链接时,阻塞,假死。
如果不设置socketTimeout会导致,已经建立了tcp链接,在通信时,发送了请求报文,恰好此时,网络断掉,程序就阻塞,假死在那。

你可能感兴趣的:(java)