使用adb转发而不是重拨



我在Android上有一个客户端和一个服务器应用程序(使用ZeroC-Ice平台进行通信)。服务器在TCP端口10000上侦听,客户端使用TCP端口5501(我选择的任意端口号)。

当我远程登录到服务器并运行redir add tcp:5501 tcp:10000时,它工作得很顺利。

然而,由于我当前的系统设置(通过虚拟机使用androidx86二进制文件),我无法再远程登录到服务器。所以我希望我可以用adb forward代替。然而,无论我尝试了什么端口组合,我都无法使其发挥作用。

如果有人能阐明以下几点,我将不胜感激:-是否可以telnet到设备复制或设备?我在stackoverflow上的另一篇文章中读到,telnet接口只能用于模拟器-rediradb forward之间有什么区别?我应该如何使用adb转发在服务器上实现redir tcp:A:B

感谢

我终于设法让它工作起来了。的几点评论

  • USB连接的设备无法通过以太网连接。他们可以通过无线网络联系(假设他们与另一方连接到同一网络)
  • VirtualBox有自己的NAT转发。如果没有端口转发,在默认的网络配置(即NAT)下,虚拟设备是不可访问的

我的工作设置如下

  • USB连接的设备通过无线连接到电脑(查找电脑的本地IP地址,通常类似于192.168.1.x)
  • 我已经为NAT启用了VirtualBox转发。我的选项是TCP 10000:10000(其中10000是任意端口号。请注意,它应该高于1024)因此,当我的USB连接设备在端口10000连接到PC时,它会通过VirtualBox的转发转发到虚拟设备
  • 虚拟设备侦听TCP端口10000。(我没有指定主机地址以使生活更轻松)
  • 如果出现"NetworkOnMainThread"异常,请使用

    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
    StrictMode.setThreadPolicy(policy);
    

希望这能帮助

相关内容

  • 没有找到相关文章

最新更新