多个Android模拟器之间如何进行通信
2012-03-16 17:53
495 查看
Android模拟器的网络配置和普通的手机不同,每个模拟器都自动分配为10.0.2.15的IP,既无法直接和外部通信,同一个PC上的多个模拟器之间也无法直接进行通信。本章简单介绍一下模拟器的网络布局,和如何通过将端口进行重定向来实现模拟器之间的通信。
的通信也要通过一个网络的中转才能完成
首先看一下Emulator的网络配置图
从图中我们看出每个模拟器的IP都是10.0.2.15,而它所运行在的PC机的IP地址是10.0.2.2,我们就可以通过PC来打开缺口。
比如我们把模拟器M1的端口51000暴露给其他模拟器,那么可以通过下面的命令来
telnet localhost 5444
在登录的界面中输入下面的命令
redir add tcp:50000:51000
执行成功以后,我们就可以通过连接 10.0.2.2:50000端口来转接到M1的51000端口。
比如我们进行简单的socket连接如下,
M1作为服务器监听在51000端口:
ServerSocket server = new ServerSocket();
SocketAddress saEndPoint = new InetSocketAddress("10.0.2.15", 51000);
Log.d(TAG, "Server bind endpoint :" + saEndPoint);
server.bind(saEndPoint);
M2作为客户端去连接M1
Socket clientSocket = new Socket();
clientSocket.connect(new InetSocketAddress("10.0.2.2", 50000), 1000);
如果实现时没有什么错误的话,就可以成功连接了。
的通信也要通过一个网络的中转才能完成
首先看一下Emulator的网络配置图
从图中我们看出每个模拟器的IP都是10.0.2.15,而它所运行在的PC机的IP地址是10.0.2.2,我们就可以通过PC来打开缺口。
比如我们把模拟器M1的端口51000暴露给其他模拟器,那么可以通过下面的命令来
telnet localhost 5444
在登录的界面中输入下面的命令
redir add tcp:50000:51000
执行成功以后,我们就可以通过连接 10.0.2.2:50000端口来转接到M1的51000端口。
比如我们进行简单的socket连接如下,
M1作为服务器监听在51000端口:
ServerSocket server = new ServerSocket();
SocketAddress saEndPoint = new InetSocketAddress("10.0.2.15", 51000);
Log.d(TAG, "Server bind endpoint :" + saEndPoint);
server.bind(saEndPoint);
M2作为客户端去连接M1
Socket clientSocket = new Socket();
clientSocket.connect(new InetSocketAddress("10.0.2.2", 50000), 1000);
如果实现时没有什么错误的话,就可以成功连接了。
相关文章推荐
- 如何实现Android两个模拟器之间的通信
- Android中的Fragment之间如何通信
- Android如何进行网络通信(与web交互)
- Android手机通过Wifi与PC机之间进行通信问题 (有代码)
- 多个线程之间如何进行通信
- android中进程与进程,线程与线程之间如何通信??
- Android-x86入门之--如何利用android-x86取代模拟器进行应用程序的开发
- Android Intent 程序之间进行通信 传输数据
- android模拟器与pc,模拟器与模拟之间用socket进行通信和获得模拟器ip地址程序
- android apk与apk 之间互相通信--如何自定义权限
- 多个线程之间是如何进行通信的呢?
- 在android系统内webview中的html文件之间如何进行数值的传输
- Android网络开发中如何使用JSON进行网络通信---Android JSON数据通讯方法解析
- 计算机之间是如何进行通信的?;详解三次握手和四次挥手
- Android网络开发中如何使用JSON进行网络通信---Android_JSON数据通讯方法解析
- android模拟器与pc,模拟器与模拟之间用socket进行通信和获得模拟器ip地址程序
- Android碎片和活动之间进行通信
- [Android新手学习笔记05]-如何进行活动Activity之间的跳转以及数据传递
- android基础---如何使用sharedPreference进行多个Activity之间的读写操作
- Android基础教程之----SMS简单发送短信程序(两个模拟器之间的通信)!