【问题标题】:Android Emulator, Forward port to public interface, not localhostAndroid Emulator,将端口转发到公共接口,而不是 localhost
【发布时间】:2012-11-28 11:04:44
【问题描述】:

我正在寻找如何将 Android 模拟器端口从模拟器转发到可公开访问的端口。我已将端口转发到主机本地环回接口上的端口,但我希望该端口可通过网络访问。这是尝试从远程构建服务器在模拟器中运行一些自动化测试的一部分。我目前无法从另一台机器访问该端口,只能从 localhost 接口连接。即使尝试连接机器本身,如果使用机器公共名称,端口也无法访问。

这可能是模拟器的设计目的不是为了在公共接口上公开端口。在这种情况下,我可能会看看是否可以使用某种从公共接口到环回接口的 O/S 级端口转发来解决问题,如果这最终是唯一的方法。

【问题讨论】:

  • 我曾尝试使用 socat 进行一些快速而肮脏的端口转发。这在一定程度上奏效了。我正在尝试连接到 Android Selenium WebDriver 应用程序。我可以成功地在浏览器中看到状态页面,但是当我尝试实际运行我的 Selenium 测试时,连接失败。当我尝试指向 Selenium WebDriver 的集线器时,我遇到了类似的错误,即 /wd/hub 出现错误。也许网络驱动器使用了一些更复杂的 TCP/IP 交互,Socat 更难支持。

标签: android android-emulator portforwarding


【解决方案1】:

我已成功使用stcppipe 来实现这一目标。它只是将 TCP 连接转发到任何本地机器接口到特定 IP 地址(在您的情况下,它将是 localhost)。

可以从Luigi Auriemma下载

运行它:

stcppipe.exe localhost port port

问候。

【讨论】:

    猜你喜欢
    • 2011-07-28
    • 2021-02-16
    • 2016-07-22
    • 2019-05-26
    • 1970-01-01
    • 1970-01-01
    • 2021-06-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多