- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用 android sdk 附带的 apache httpclient 使用 multipart http post 在服务器上上传文件。问题是,当我关闭设备上的 wifi 连接并且设备在设置 sotimeout 和 connectiontimeout 后没有互联网访问和事件时,代码无限期地卡在 httpclient.execute()
语句上并且它每次都会发生。
我的代码是:
HttpClient httpclient = new DefaultHttpClient();
HttpConnectionParams.setSoTimeout(httpclient.getParams(), 5000);
ConnManagerParams.setTimeout( httpclient.getParams(), 5000 );
HttpConnectionParams.setSocketBufferSize(httpclient.getParams(), 8192);
HttpPost("http://myurl");
File file = new File(fileAbsolutePath);
MultipartEntity mpEntity = new MultipartEntity();
ContentBody cbFile = new FileBody(file);
mpEntity.addPart("uploadedfile", cbFile);
httppost.setEntity(mpEntity);
if(!backupCancel)
{
System.out.println("<<<<<<<<<<<<<<<<<<<<<<Actually transferring file>>>>>>>>>>>>>>>");
HttpResponse response = httpclient.execute(httppost);
}
最佳答案
试试这个:
假设你有一个 httpClient 对象,它是 AndroidHttpClient 或 DefaultHttpClient 的一个实例
HttpParams httpParams = httpClient.getParams();
httpParams.setIntParameter(CoreConnectionPNames.SO_TIMEOUT, Timeout in milli seconds);
你得到的httpParams是一个引用对象,所以它执行setIntParameter会解决这个问题
除非您真的对自定义超时有特殊要求,否则更喜欢使用 AndroidHttpClient 它非常有用并且可以解决我们的大部分问题:)祝您好运
关于android - sotimeout 在 android 2.1 上的多部分 http 帖子中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5701297/
我使用的是用 Java 编写的 Apache Thrift 服务器。当我创建 ServerSocket 时,我传递了一个名为 clientTimeout 的参数,其值为 60000(十分钟)。但这并不
Apache HttpClient 允许配置两种超时:ConnectionTimeout 和 SoTimeout 这就是人们通常创建通用 HttpClient 实例的方式: PoolingClient
我正在使用 android sdk 附带的 apache httpclient 使用 multipart http post 在服务器上上传文件。问题是,当我关闭设备上的 wifi 连接并且设备在设置
我正在使用卡夫卡 0.8.2.1 简单消费者。有人可以澄清 SimpleConsumer 和 FetchRequestBuilder 的一些配置参数的含义吗?由于没有阅读 KAfka 的源代码,我当时
我是一名优秀的程序员,十分优秀!