使用Android套接字时,为什么连接会被“主动拒绝”?

时间:2012-06-14 15:03:30

标签: java android sockets

我已复制/粘贴此tutorial about sockets on Android的代码。

它构建正常并按预期运行,直到尝试连接。

我已将其与USB连接,并且我已使用ADB打开端口转发。

我用C#编写了测试应用程序(我比Java更舒服)并且我不断获得error 10061

  

无法建立连接,因为目标计算机主动拒绝它。这通常是因为尝试连接到外部主机上处于非活动状态的服务,即没有运行服务器应用程序的服务。

当我使用SocketTest时,我收到以下(相当神秘)的消息:

  

连接错误:连接

我尝试过禁用我的防火墙,但这没有用。可能有什么不对?

2 个答案:

答案 0 :(得分:3)

“主动拒绝”意味着目标已发回数据包,表示没有进程侦听端口(“没有运行服务器应用程序”)。有些防火墙甚至会过滤这些数据包,导致连接尝试时超时。

答案 1 :(得分:1)

事实证明这与ADB有关。我在会话开始时已经启动了端口转发,但是ADB进程必须在某个时候重新启动,因为当我重新发出port forward命令时,我的应用程序突然变为现实。

真可惜,无法查看ADB当前正在转发的端口。我认为底线是“如果有疑问,再做一次”。