Java httpclient在将SO_TIMEOUT设置为无穷大后引发readtimeout异常

Java httpclient在将SO_TIMEOUT设置为无穷大后引发readtimeout异常,java,apache-commons-httpclient,Java,Apache Commons Httpclient,我使用httpclient作为客户端来连接服务器。我没有设置任何超时(readtimeout-SO\u timeout)。从文档中我发现,如果没有指定超时,那么它将被解释为无穷大(0) 但httpclient在连接到客户端服务器后的20到30秒内抛出“java.net.SocketTimeoutException:读取超时”异常。另请注意:我不是一直面对这个问题 如何解决此问题?帮帮我 堆栈跟踪: java.net.SocketTimeoutException: Read timed out a

我使用httpclient作为客户端来连接服务器。我没有设置任何超时(readtimeout-SO\u timeout)。从文档中我发现,如果没有指定超时,那么它将被解释为无穷大(0)

但httpclient在连接到客户端服务器后的20到30秒内抛出“java.net.SocketTimeoutException:读取超时”异常。另请注意:我不是一直面对这个问题

如何解决此问题?帮帮我

堆栈跟踪:

java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at com.sun.net.ssl.internal.ssl.InputRecord.readFully(Unknown Source)
at com.sun.net.ssl.internal.ssl.InputRecord.read(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(Unknown Source)
at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
at java.io.BufferedOutputStream.write(Unknown Source)
at java.io.FilterOutputStream.write(Unknown Source)
at org.apache.commons.httpclient.methods.multipart.Part.sendDispositionHeader(Part.java:220)
at org.apache.commons.httpclient.methods.multipart.Part.send(Part.java:308)
at org.apache.commons.httpclient.methods.multipart.Part.sendParts(Part.java:385)
at org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity.writeRequest(MultipartRequestEntity.java:164)
at org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:499)
at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2114)
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
代码:

在客户端executeMethod上引发异常

谢谢,
Ganesan

请发布堆栈跟踪和相关代码。将它们编辑到您的问题中。@EJP感谢您的评论。我已使用堆栈跟踪进行编辑。但您尚未发布相关代码。@ELB代码已发布。可以分析这个问题吗?
HttpClient client = new HttpClient();
HttpConnectionManager conn = new SimpleHttpConnectionManager(true);
conn.getParams().setConnectionTimeout(25000);
client.setHttpConnectionManager(conn);

PostMethod meth = new PostMethod(url);//url is server url
meth.getParams().setCookiePolicy(CookiePolicy.IGNORE_COOKIES);
Part p[] = new Part[parts.size()];//parts is an arraylist variable for server process params
p = (Part[])parts.toArray(p);
((PostMethod)meth).setRequestEntity(new MultipartRequestEntity(p,meth.getParams()));
meth.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
HttpMethod method = (HttpMethod)meth;
int status =  client.executeMethod(method);