Java 两个Android仿真器之间的通信
我的机器在7号窗口运行。 我想在同一台机器上运行的两个android emulator之间进行通信。Java 两个Android仿真器之间的通信,java,android,Java,Android,我的机器在7号窗口运行。 我想在同一台机器上运行的两个android emulator之间进行通信。 Emulator首先在一些IP 10.0.2.15上侦听 当第二个仿真器尝试创建 插座插座=新插座(“10.0.2.15”,8080) 它给出异常,无法连接到10.0.2.15 有人知道如何解决这个问题吗 编辑:我已经读过了,但上面写着 在B的控制台上,发出redir add tcp:8080:80 B的控制台是什么意思?B的控制台在哪里?可能有两个原因 据我所知,您运行的是程序和功能->打开或
Emulator首先在一些IP 10.0.2.15上侦听 当第二个仿真器尝试创建
插座插座=新插座(“10.0.2.15”,8080)代码>
它给出异常,无法连接到10.0.2.15
有人知道如何解决这个问题吗
编辑:我已经读过了,但上面写着
在B的控制台上,发出redir add tcp:8080:80
B的控制台是什么意思?B的控制台在哪里?可能有两个原因
据我所知,您运行的是<2.3版本
添加Internet权限
尝试先运行服务器(如模拟器编号5554和客户端(如)5556)
然后键入
telnet localhost 5554
您需要的是在Windows 7计算机上安装TELNET。为此,请单击控制面板->程序和功能->打开或关闭Windows功能->Telnet客户端(必须勾选)
然后,在cmd
(命令提示符)中,您可以说adb devices
(如果Android SDK在您的路径上),它返回标识符,例如emulator-5554
和emulator-5556
现在使用telnet,您可以使用telnet localhost 5554
或telnet localhost 5556
访问它们
要让他们告诉您它是哪个模拟器,您可以键入avd name
但更重要的是,它告诉你:
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
它会说OK
,现在您可以实际运行文档中提到的命令了
现在你可以说
redir add tcp:6000:4000
这意味着:如果仿真器将从本地主机接收到端口6000的内容,那么它将以4000的形式接收它
这意味着您的另一个仿真器可以通过向6000发送数据,通过10.0.2.2
magic loopback IP连接到6000,而另一个仿真器将接收数据,端口为4000
它不仅适用于tcp:
,也适用于udp:
您可以列出redir
,甚至使用redir del
删除重定向 老问题,但有一个新问题是非常相似的,有两个以上的答案@Commonware很抱歉昨晚的抨击,当时真的是凌晨3点(最终是5点),我真的只找到了5个不同的答案,除了“阅读文档”之外什么都没说。”\_(ツ)_/“
--在我删除了我公认的蹩脚的旧答案后,你的开场白就不再相关了。这就是我删掉它的原因。你的答案非常好!另外,我很高兴你找到了将telnet添加到Windows 7的旧说明。:-)传入服务器和客户端套接字的端口号应该是多少,如果使用相同的tcp:6000:4000,重定向到6000:4000
的仿真器应该是4000
处的服务器套接字,客户端套接字应该尝试在6000
处连接到它。
redir add tcp:6000:4000