我有一个在线运行在专用服务器上的java网络服务器,我有一个用Android SDK和Java编写的Android网络客户端。
如果安卓设备连接了WIFI,它就可以正常工作,但是如果我使用3G连接设备,当我从客户端调用:readInt()时,插座就会关闭。这不是在第一次调用时发生的,而是在稍后发生。它看起来非常随机,很难解释,但它可能发生在数据不再读取(或不再读取)的时候。例外的是SocketException connection reset by peer。
我想更具体地解释,但它很难调试,在我看来,它看起来像Android bug (不确定这一点)。这就是为什么我要问这个问题。因为肯定有人遇到过同样的问题。
对于android设备来说,WIFI连接和3G连接之间有什么区别,会导致这样的连接中断?有什么办法可以解决这个问题呢?
如果有人能帮上忙的话谢谢。
编辑:我的3G连接没有中断。这是插座是嘴,只有插座。而且只有当我连接到3G时才会发生这种情况。不是在WIFI里。
发布于 2011-10-19 21:20:44
我找到了答案:几家3G网络供应商为了获得更多利润而关闭了客户的插座。唯一的解决方案是人为地降低流量。
发布于 2011-10-01 07:12:49
您的连接可能会在两者之间中断,在这种情况下,您之前创建的套接字已损坏/关闭。我建议您倾听网络更改意图"android.net.conn.CONNECTIVITY_CHANGE“,并在每次network.This发生更改时重置套接字,以解决您的问题
https://stackoverflow.com/questions/7616786
复制相似问题