`
gegaosong
  • 浏览: 37889 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Android(摩托)HttpURLConnection getInputStream()堵塞

阅读更多
各位大侠
     上传文件到服务器,使用HttpURLConnection 上传,上传一半时,此时断网,摩托手机收不到任何异常,此线程则被一直堵塞在此,各位帮忙看看代码。
       URL url = new URL(actionUrl);
        try
        {
            connect = (HttpURLConnection) url.openConnection();

            connect.setDoOutput(true);
            connect.setDoInput(true);
            connect.setRequestMethod(httpMethod);
            connect.setRequestProperty("Authorization",
                "Basic " + authorization);
            connect.setRequestProperty("Content-Type",
                "multipart/form-data;boundary=NextPart_000_0028_01C198.8469");
            connect.setRequestProperty("Accept-Encoding",
                "gzip");
            connect.setConnectTimeout(15 * 1000);
            connect.setReadTimeout(10 * 1000);
            connect.connect();
            if (request != null)
            {
                 output = new DataOutputStream(connect.getOutputStream());
                LogUtil.d(TAG,
                    "sendMMsRequest >> 开始添加附件");
                addFormField(filePathList,
                    request,
                    output,
                    sendContentStr);

                String lineEnd = "--NextPart_000_0028_01C198.8469--";
                output.writeBytes(lineEnd);
                LogUtil.d(TAG,
                    "sendMMsRequest >> 结束添加附件 ");
                LogUtil.d(TAG,
                    "sendMMsRequest >> 开始往服务器写入数据");
                output.flush();
                LogUtil.d(TAG,
                    "sendMMsRequest >> 结束往服务器写入数据");
            }
            filePathList.clear();
            LogUtil.d(TAG,
                "sendMMsRequest >> 开始读取服务器数据");
            is = connect.getInputStream();//此处堵塞
            dis = new DataInputStream(is);
            LogUtil.d(TAG,
                "sendMMsRequest >> 获得inputStream对象");

            int n = 0;
            while ((n = dis.read(readBuffer)) != -1)
            {
                LogUtil.d(TAG,
                    "sendMMsRequest >> 读取服务器数据" + readBuffer.length);
                result += new String(readBuffer,
                    0,
                    n);
            }
            LogUtil.d(TAG,
                "sendMMsRequest >> 结束读取服务器数据");






日志打印如下

08-25 01:07:05.484: sendMMsRequest >> 开始添加附件
08-25 01:07:05.491: sendMMsRequest >> 添加附件 20120817153822.jpg
08-25 01:07:06.069: sendMMsRequest >> 添加附件 561.png
08-25 01:07:06.069: sendMMsRequest >> 添加附件 d_YaoYao.mp3
08-25 01:07:07.069: sendMMsRequest >> 结束添加附件
08-25 01:07:07.069: sendMMsRequest >> 开始往服务器写入数据
08-25 01:07:07.069: sendMMsRequest >> 结束往服务器写入数据
08-25 01:07:07.069: sendMMsRequest >> 开始读取服务器数据
分享到:
评论

相关推荐

    Android HttpUrlConnection json使用方法

    在Android开发中,HttpUrlConnection是用于网络通信的一种基础组件,尤其在处理JSON数据时,它扮演了重要的角色。本文将详细介绍如何使用HttpUrlConnection进行HTTP的POST和GET请求,并处理JSON响应。 首先,理解...

    Android-使用HttpURLConnection实现断点续传

    HttpURLConnection是Java标准库提供的一种网络连接接口,适用于Android系统,它提供了更高效、更灵活的网络通信方式。本文将详细介绍如何利用HttpURLConnection实现Android应用中的断点续传功能。 首先,理解断点续...

    android+httpurlconnection

    接着,要处理网络请求的异步性,避免阻塞主线程,通常我们会使用Android的AsyncTask或者Thread配合Handler。在后台线程中,我们可以读取HTTPURLConnection的输入流,将图片数据缓存到内存或文件中。例如: ```java ...

    AsyncTask结合HttpUrlConnection的例子

    总结来说,`AsyncTask`结合`HttpURLConnection`能有效处理网络请求,避免阻塞主线程,同时保持用户界面的交互性。这个例子为开发者提供了一个基础的网络请求模板,可以根据实际需求进行扩展和定制。在实际开发中,你...

    Android 简单使用 HttpURLConnection

    在Android中,网络操作通常在子线程(非UI线程)中进行,以避免阻塞主线程导致应用无响应。以下是一个简单的GET请求示例: ```java URL url = new URL("http://example.com"); HttpURLConnection connection = ...

    Android使用HttpURLConnection访问网络

    本篇文章将深入探讨如何在Android应用中利用HttpURLConnection访问网络,包括设置请求方法、添加请求头、处理响应以及解决常见问题。 1. HttpURLConnection简介: HttpURLConnection是Java内置的类,它是...

    Android httpUrlConnection Post方式访问网络简单demo

    在Android开发中,HTTP请求是应用与服务器交互的重要方式之一,`...此外,Android 9.0(Pie)及以上版本不再推荐使用`HttpURLConnection`,而是建议使用`OkHttp`这样的第三方库,它提供了更好的性能和易用性。

    HttpURLConnection和简单的Android服务器交互

    在Android应用开发中,与服务器进行数据交互是常见的需求,HttpURLConnection是Android SDK提供的一种轻量级、低级别的网络通信接口。本主题将深入探讨如何使用HttpURLConnection进行Android与服务器的简单交互,...

    Android基于HttpUrlConnection类的文件下载实例代码

    Android基于HttpUrlConnection类的文件下载实例代码 Android操作系统中,文件下载是一种常见的功能,为了实现文件下载,Android提供了多种方式,包括使用HttpUrlConnection类和OkHttp库等。HttpUrlConnection类是...

    Android网络请求框架基于HttpUrlConnection的封装

    HttpUrlConnection是Android系统提供的一个基础网络通信接口,相较于其他如Volley、OkHttp等第三方库,它更轻量级,适合对性能有较高要求或需要自定义网络操作的场景。 首先,我们来看HttpUrlConnection的基本用法...

    android 联网请求的两种方式HttpURLConnection和HttpClient

    总的来说,HttpURLConnection更现代,更适合Android,而HttpClient虽然被弃用,但在某些情况下仍然适用。选择哪种方式取决于项目需求和个人偏好。理解这两种方法的工作原理以及如何处理GET和POST请求,是每个Android...

    android使用HTTPURLconnection/get方法访问HTTP

    以上就是使用`HttpURLConnection`在Android中进行GET请求的基本流程。注意,由于Android的安全策略,从Android 9(Pie)开始,你可能需要在AndroidManifest.xml中声明`usesCleartextTraffic`属性来允许非加密(HTTP...

    AndroidHttpURLConnection发送GET请求

    调用URL对象的openConnection( )来获取HttpURLConnection对象实例: HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 设置HTTP请求使用的方法:conn.setRequestMethod("GET"); 设置连接超时,...

    Httpurlconnection请求网络数据,使用Android Studio.zip

    `HttpURLConnection`是Java标准库提供的一种网络通信方式,适用于Android Studio项目。相较于其他网络库如OkHttp或Volley,`HttpURLConnection`更轻量级,适合小规模或者简单的网络请求。本教程将深入探讨如何使用`...

    android HttpURLConnection上传图片demo

    这个"android HttpURLConnection上传图片demo"提供了一个具体的示例,教我们如何使用HttpURLConnection来完成这一任务。HttpURLConnection是Java标准库中的一个类,它允许Android应用程序与HTTP服务器进行通信,执行...

    Android HttpURLConnection.getResponseCode()错误解决方法

    正文:我在使用HttpURLConnection.getResponseCode()的时候直接报错是IOException错误,responseCode = -1。一直想不明白,同一个程序我调用了两次,结果有一个链接一直OK,另一个却一直报这个错误。后来发现两个...

    Android 中HttpURLConnection与HttpClient使用的简单实例

    在Android 5.0之前,由于HttpURLConnection存在一些问题,HttpClient是首选。但随着Android版本的更新,这些问题得到了解决,现在HttpURLConnection成为了首选。 在实际应用中,你可能还需要处理更多细节,例如添加...

    Android HttpURLConnection 读取网络图片.rar

    b=(Button)this.findViewById(R.id.b);... InputStream is = conn.getInputStream();//取得返回的InputStream  bitmap = BitmapFactory.decodeStream(is);//将InputStream变成Bitmap  is.close();//关闭InputStream

    彻底解决android用HttpUrlConnection与web服务器之间session保持问题

    在Android开发中,当使用HttpURLConnection与Web服务器进行通信时,常常遇到的一个问题是无法正确保持session,导致每次请求都被服务器视为新的独立会话。这主要由于HTTP协议本身的无状态特性,以及Android客户端与...

Global site tag (gtag.js) - Google Analytics