先前开发一款Android APP,在WIFI环境下测试,是没问题的,但是在GPRS下测试,问题就来了。平均访问5次网路才可以得到1次结果,其余4次几乎1秒不到就报错,Log如下:
06-21 16:36:08.265: W/System.err(6788): java.net.SocketException: Connection reset by peer
06-21 16:36:08.273: W/System.err(6788):  at org.apache.harmony.luni.platform.OSNetworkSystem.read(Native Method)
06-21 16:36:08.277: W/System.err(6788):  at dalvik.system.BlockGuard$WrappedNetworkSystem.read(BlockGuard.java:273)
06-21 16:36:08.281: W/System.err(6788):  at org.apache.harmony.luni.net.PlainSocketImpl.read(PlainSocketImpl.java:458)
06-21 16:36:08.281: W/System.err(6788):  at org.apache.harmony.luni.net.SocketInputStream.read(SocketInputStream.java:85)
06-21 16:36:08.285: W/System.err(6788):  at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:103)
06-21 16:36:08.285: W/System.err(6788):  at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:191)
06-21 16:36:08.289: W/System.err(6788):  at org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:82)
求指点,网上找了一天了...

解决方案 »

  1.   

    我现在重复链接,但是达不到我要的效果,gprs访问为何一直链接不了
      

  2.   

    是不是手机APN(接入点)设置的是cmwap导致的。
    cmwap只接受http协议,另外,需要用移动的私有协议,也就是所谓的x-online-host 方式。
    http://blog.sina.com.cn/s/blog_6c0e670e0100my6z.html 这篇文章有讲一些简单的解法和原理。
      

  3.   

    应该不是这个问题,GPRS是可以访问到的,只是要访问多次才可以访问到。还是谢谢了。
      

  4.   

    java.net.SocketException: Connection reset by peer这是我在手机上网的时候也遇到了,一般来说是网络接收端已经断开连接,但发送端并没有收到连接已失败的通知,仍然在发数据过去,就会出现这种情况,多数是这种情况,也可以看下这个链接http://hi.baidu.com/javaman/item/929555251f29e29a9d63d100,不知道能不能帮到你
      

  5.   

    lz解决这个问题没?我也出现这个bug了
      

  6.   

    楼主解决没?我也找了好长时间没解决,非wifi的网络连接都不行,试了下http协议也不行。不知道怎么弄了
      

  7.   

    貌似解决了这个问题,在HTTP头里面加上 Keep-Alive
      

  8.   

    我解决了。因为电信对移动有限制。所以使用花生壳和固定IP都是不行的。只能主机托管的IP才行