android socket连接被拒绝。

山城忙碌人 2016-04-13 05:48:10
问题描述:
1 手机锁屏,或者应用退到后台,或者直接关闭网络,重新打开网络后,socket连接直接被拒绝连接。
异常信息如下:failed to connect to /42.96.162.391 (port 7799) after 20000ms: isConnecte falied:ECONNERFUSED(Connection resused)
2 如果重新打开app,重新运行又能访问,不会出现socket被拒绝的情况。
3 在重新连接前,socket,inputStream,outputStream 都关闭的,但还是连接失败。
4 部分代码如下:

try {
if (inputStream != null) {
inputStream.close();
}
} finally {
try {
if (outputStream != null) {
outputStream.close();
}
} finally {
if (socket != null && !socket.isClosed()) {
socket.close();
}
}
}
socket = null;
inputStream = null;
outputStream = null;

Socket socket = new Socket();
socket.connect(new InetSocketAddress(host, port),
20000);
outputStream = socket.getOutputStream();
inputStream = socket.getInputStream();


注:连接被拒绝的问题,不是在每个手机上都出现,目前测试小米3断网,重新连接后这个异常必现,其它手机暂时没发现这个问题。

我在手机断网时,把后台service,以及sockt,outputStream,inputStream 都停止了。在service的onDestroy方法重新启动服务。然后小米3联网后,仍然有这个问题。
...全文
667 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
山城忙碌人 2016-05-18
  • 打赏
  • 举报
回复
谁回分就给谁!

80,356

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧