【问题标题】:Android Emulator communication from different machines来自不同机器的 Android 模拟器通信
【发布时间】:2012-09-12 11:20:02
【问题描述】:

我参考了开发者网站并实现了以下想法,该想法适用于在同一台机器上运行的两个模拟器实例。

•A 是你的开发机器
•B 是您的第一个模拟器实例,在 A 上运行
•C 是您的第二个模拟器实例,也在A 上运行

并且您想在 B 上运行一个服务器,C 将连接到该服务器,您可以按照以下方式进行设置: 1.在B上搭建服务器,监听10.0.2.15:
2.在B的控制台上,设置从A:localhost:到B:10.0.2.15:的重定向
3.在C上,让客户端连接到10.0.2.2:

例如,如果你想运行一个 HTTP 服务器,你可以选择 80 和 8080: •B 在 10.0.2.15:80 收听
•在B的控制台上,发出redir add tcp:8080:80
•C 连接到 10.0.2.2:8080

现在对于两台不同的机器,我必须让 C 连接到 A 的 ipaddress:8080。但这不起作用。应该给出什么地址来代替 10.0.2.2 才能工作?仅 IPAddress 显然是不够的。
我已经坚持了一周。任何帮助,将不胜感激。

【问题讨论】:

  • 如果我只是从客户端使用服务器的IP地址(带有8080端口),我会得到java.net.conectExcperion:Connection Rfused : Connect

标签: android android-emulator ip-address


【解决方案1】:

是的。这是可能的。你需要两个模拟器之间的服务器。没有任何中间件是不可能连接两个模拟器的。这个角色由Google App engine``执行。
Google App Engine 是完整、可扩展且价格合理的托管解决方案。 Using Google App Engine,你可以这样做。 Check this.

带有 XMPP 的 App Engine:

通过将 XMPP 服务引入 App Engine,可以编写通过 XMPP 与用户甚至其他应用程序通信的 App Engine 应用程序。 XMPP 是一种即时消息协议,供 Google Talk、Jabber 和其他 IM 网络使用。

Here一个很好的XMPP教程。
One Example of App Engine.
希望这会对你有所帮助。

更新:

java.net.conectExcperion:Connection Rfused : Connect android

当没有服务在您尝试连接的端口上侦听时,会发生此异常。

你还需要了解 Emulator Networking

【讨论】:

  • 太糟糕了,我们需要一个中间人......谷歌不能想出一个克服这个问题的 API......我已经实现了一个中间 java prgm 来路由流量。谢谢你的回答:)
  • 如果我找到有关此的内容。我会发布它。
  • 如果你也能在此掠夺我将不胜感激A similar q.
猜你喜欢
  • 2020-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-23
  • 1970-01-01
  • 1970-01-01
  • 2018-09-11
  • 1970-01-01
相关资源
最近更新 更多