我的机器在7号窗口上运行。 我想在同一台机器上运行的两个android模拟器之间进行通信 模拟器首先在监听IP 10.0.2.15 当第二个模拟器尝试创建
时 Socket socket = new Socket ("10.0.2.15",8080);
它提供异常,无法连接到10.0.2.15 有谁知道如何解决这个问题?
答案 0 :(得分:3)
当模拟器2尝试创建Socket socket = new Socket(“10.0.2.15”,8080);它给出了异常
这是试图在模拟器本身上打开端口8080,而不是在另一个模拟器上打开。
有没有人知道如何解决这个问题?
按照interconnecting emulator instances的文档说明进行操作。
答案 1 :(得分:1)
您需要在Windows 7计算机上安装TELNET。为此,请控制面板->程序和功能->打开或关闭Windows功能-> Telnet客户端(必须选中)。
然后,在cmd
(命令提示符)中,您可以说adb devices
(如果PATH上装有Android SDK),它返回标识符,例如emulator-5554
和{{1} }。
现在有了telnet,您可以使用emulator-5556
或telnet localhost 5554
来访问它们。
要让他们告诉您它是哪个模拟器,可以键入telnet localhost 5556
。
但更重要的是,它告诉您以下信息:
avd name
这是一个文本文件,其中包含一些随机的隐秘文本。
您可以将其复制粘贴到telnet中,如下所示:
Android Console: Authentication required
Android Console: type 'auth <auth_token>' to authenticate
Android Console: you can find your <auth_token> in
'C:\Users\[youruser]\.emulator_console_auth_token'
OK
将会显示auth cdPi82HewjZg
,现在您实际上可以运行文档中所述的命令。
现在你可以说
OK
这意味着:redir add tcp:6000:4000
这意味着您的其他仿真器可以通过将数据发送到6000,而通过if the emulator would receive something to Port 6000 from LocalHost, then it should receive it as 4000
魔术环回IP连接到它,而 other 仿真器将通过端口4000接收该仿真器。
它不仅适用于10.0.2.2
,而且还适用于tcp:
。
您可以列出udp:
,甚至可以删除redir
的重定向。
答案 2 :(得分:0)
可能有两个原因
首先尝试运行服务器,然后在模拟器号5554和客户端(比方说)5556中运行 然后输入
telnet localhost 5554