0

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

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

但是,由于我当前的系统设置(通过虚拟机使用 androidx86 二进制文件),我无法再 telnet 到服务器。所以我希望我可以adb forward改用。但是,无论我尝试什么端口组合,我都无法让它工作。

如果有人能对这些有所了解,我将不胜感激: - 是否可以远程登录到设备复制或设备?redir我在 stackoverflow 上的另一篇文章中读到 telnet 接口仅适用于模拟器 -和有什么区别adb forward?我应该如何在服务器上使用 adb 转发来实现redir tcp:A:B

谢谢

4

1 回答 1

0

我终于设法让它工作了。多条评论

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

我的工作设置如下

  • USB 连接的设备通过无线连接到 PC(找出您 PC 的本地 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);
    

希望这可以帮助某人

于 2012-04-07T21:32:01.250 回答