超时有很多种
1.连接超时,有以下情况
  IP不正确,服务器挂掉了,网络异常
2.读取数据超时网上代码:
HttpClientParams params = new HttpClientParams();
// 避免'Expect: 100-continue' handshake
params.setParameter(HttpClientParams.USE_EXPECT_CONTINUE, Boolean.FALSE);
// 设置ws连接超时时间
params.setParameter(HttpClientParams.CONNECTION_MANAGER_TIMEOUT, (long)100);
client.setProperty(CommonsHttpMessageSender.HTTP_CLIENT_PARAMS, params);
这段代码我试过了,我将ip换成不存在的ip,随便换的,那么设置的100没有效果,等待很长时间
然后我将ip换成正确的,例如baidu,这个就马上超时了
那么说明一个问题:不存在的ip,有几种情况:那台服务器停机了,确实是一个不存在的ip,或者网络有问题,或者路由器禁止了
我看到网上写到,上面的代码可以解决,服务器停机的情况,但是确实不行。请各位大侠看看有解决办法不??

解决方案 »

  1.   

      int nResult;
    CService S; S.SetUrl(CTempletConfig::getConfigPtr()->getParaManageURL().c_str());
    Service::Info *pInfo;
    HRESULT hr = PMS.GetInfoList(&pInfo, &nResult);

    if (E_FAIL == hr)
    {
    SOAPCLIENT_ERROR err = S.GetClientError();
    throw new COpExcep(ERR_SERVER_API_FAIL, 
    "从服务器下载信息失败", 
    "...");
    }
    SOAPCLIENT_ERROR错误类型如下:
    enum SOAPCLIENT_ERROR
    {
    SOAPCLIENT_SUCCESS=0,           // everything succeeded
    SOAPCLIENT_INITIALIZE_ERROR,    // initialization failed -- most likely an MSXML installation problem
    SOAPCLIENT_OUTOFMEMORY,         // out of memory
    SOAPCLIENT_GENERATE_ERROR,      // failed in generating the response
    SOAPCLIENT_CONNECT_ERROR,       // failed connecting to server
    SOAPCLIENT_SEND_ERROR,          // failed in sending message
    SOAPCLIENT_SERVER_ERROR,        // server error
    SOAPCLIENT_SOAPFAULT,           // a SOAP Fault was returned by the server
    SOAPCLIENT_PARSEFAULT_ERROR,    // failed in parsing SOAP fault
    SOAPCLIENT_READ_ERROR,          // failed in reading response
    SOAPCLIENT_PARSE_ERROR          // failed in parsing response
    };
      

  2.   

    1楼是用非java写的,如果是用java解决的,我也就可以学习啦。