解决方案 »

  1.   

    dataOutputStream.writeBytes(end);
    这句之后,先flush,然后继续执行,超时还有读取超时的,这个看服务器的响应
      

  2.   

    如果是写超时的话,设置 socket timeout 试试?
    HttpConnectionParams.setSoTimeout
      

  3.   

    木有用,主要我用的是HttpURLConnection,无解,不知道腾讯QQ是怎么做的,CSDN的大神们快来解决啊~~
      

  4.   

    网络情况不好,你就catch住就行了,然后处理异常,在异常中重新连接或者调用write方法,还有,这个一定新开一个线程去操作
      

  5.   

    现在的问题是,即使刚开始已经写了部分数据了,但是由于写入过程中网速不好,会卡死在那里,但是抛sendto异常要等几分钟之后再抛,而不是我设置的5秒,抓这个异常的时间太长,客户会以为程序已经死了的,用户体验不好。不是我抓不抓的到异常的问题,传输是以流来传输的,还不能确定死的传输时间。
      

  6.   


    那就改用 HttpClient 试试呗,又不要钱。而且还可以用 apache 的multipart 组件实现上传,省得自己写代码了。
      

  7.   


    那就改用 HttpClient 试试呗,又不要钱。而且还可以用 apache 的multipart 组件实现上传,省得自己写代码了。
    用了android-async-http-master第三方包发现上传图片还是会出现这种问题,那个HttpClient也用了,我不知道是服务器端的错误,还是我这的问题。郁闷啊~~~~服务器端貌似那哥们用的是这个源码 http://www.cnblogs.com/gzggyy/archive/2011/08/02/2125237.html
      

  8.   

    2.3以下的就不要用HttpURLConnection了,有bug,官网已经说了,建议换一下HttpClient4.X,有个老外封装的Android版的HttpClient,就基于这个版本的,还有OkHttp用的是组合方式,他会判断sdk版本,好像如果小于2.3用的是HttpClient,大于的话就用HttpURLConnection,具体你可以翻看一下OKHttp源码,我下载用的HttpClient,报文接收用的OKHttp
      

  9.   

    timeout时间设置长一些,还有就是看看服务器端可设置每个连接保持连接状态的时间是多久。