PC电脑和Android模拟器访问及模拟器之间tcp/udp通信

Android系统默认只能通过IP(10.0.2.2)单向访问PC电脑,而PC电脑不能通过IP来直接访问Android模拟器系统。要想实现PC电脑和Android模拟器系统以及Android模拟器之间相互通信必须借助端口重定向(redir)来实现。

先说说端口重定向所需要的telnet客户端安装:
windows:
安装telnet客户端。如果没有安装,可以在windows程序管理中的打开或关闭系统功能下找到telnet客户端菜单项来启用telnet客户端功能。
linux:
自行安装telnet客户端。

一、PC电脑不能直接访问Android模拟器系统的原因
Android系统为实现通信将PC电脑IP设置为10.0.2.2,自身为10.0.2.15/127.0.0.1。然而PC电脑并没有为Android模拟器系统指定IP,所以PC只能通过端口重定向来实现和Android模拟器的通信。

二、PC电脑和Android模拟器系统之间通信

1、运行模拟器

2、打开window 命令行,执行:


1

telnet localhost 5554

5554是模拟器的端口(位于Android模拟器窗口标题栏),执行之后会进入android console

3、在console下执行:


1
2
3

格式:redir add < udp/tcp >:< pc端口 >:< 模拟器端口 >
例如:redir add udp:2888:2888 
     redir add tcp:2888:2888

执行此命令之后,会把PC 2888 端口接收到的tcp/udp数据转到模拟器的2888端口。

三、多个Android模拟器系统之间通信

1、启动模拟器emulator-5554和emulator-5556

2、打开dos窗口执行telnet localhost 5554连接到模拟器5554

3、成功连接后,继续执行:redir add tcp:5000:6000将PC端口5000绑定到模拟器5554的端口6000上。

4、此时模拟器5556通过向PC电脑端口5000(即地址:10.0.2.2:5000)发送tcp/udp数据包跟模拟器5554通信。

5、同理根据步骤2、3来实现PC电脑对模拟器5556的端口转发。

添加成功后,我们可以用redir list命令来列出已经添加的映射端口,redir del可以进行删除。

时间: 2024-10-14 11:53:14

PC电脑和Android模拟器访问及模拟器之间tcp/udp通信的相关文章

PC电脑运行Android模拟器总是弹出“视频源”窗体的原因和解决方案

原因: PC电脑运行Android模拟器时弹出“视频源”窗体,会让你"选择视频设备",如:HP TruevIsion HD,而这个视频设备就是你电脑中的内置摄像头,这个内置摄像头在你的电脑的:计算机管理-->设备管理器-->图像管理下可以找到:正是由于启动模拟器的时候检测到了该内置摄像头,所以会弹窗提示选择. 解决办法: 第一步:通过右键"我的电脑"选中"管理"-->计算机管理-->设备管理器-->图像管理 或者通过

Socket 通信原理(Android客户端和服务器以TCP&amp;&amp;UDP方式互通)

ZERO.前言 有关通信原理内容是在网上或百科整理得到,代码部分为本人所写,如果不当,还望指教. 一.Socket通信简介 Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信.两者的最大差异在于,http连接使用的是“请求—响应方式”,即在请求时建立连接通道,当客户端向服务器发送请求后,服务器端才能向客户端返回数据.而Socket通信则是在双方建立起连接后就可以直接进行数据的传输,在连接时可实现信息的主动推送,而不需要每次由客户端想服务器发送请求. 那么,什么是s

android模拟器访问localhost或127.0.0.1报错

在一般的Java Web程序开发中,我们通常使用localhost或者127.0.0.1来访问本机的Web服务,但是如果我们在Android模拟器中也采用同样的地址来访问,Android模拟器将无法正常访问到我们的服务,这是为什么呢?我们可以这样来理解:Android的底层是Linux kernel,包括Android本身就是一个操作系统,因此,这时我们在模拟器的浏览器中输入的localhost或127.0.0.1所代表的是Android模拟器(Android虚拟机),而不是你的电脑,明白了吗?

Android模拟器访问本地Web应用

本篇文章试图解决这样一个问题:如何在Android模拟器上访问本地的Web应用? 例如,在你的开发机器上启动一个Tomcat服务,接着打开电脑上的浏览器,默认情况下输入http://localhost:8080/就能够访问到Tomcat的主页面:那么,如果我们想在Android模拟器上来访问,可以吗?答案是肯定的,但是访问的URL会有所变化,这又是为什么呢?请继续往下看.        在一般的Java Web程序开发中,我们通常使用localhost或者127.0.0.1来访问本机的Web服务

[020] Android模拟器访问本地Web应用

本篇文章试图解决这样一个问题:如何在Android模拟器上访问本地的Web应用? 例如,在你的开发机器上启动一个Tomcat服务,接着打开电脑上的浏览器,默认情况下输入http://localhost:8080/就能够访问到Tomcat的主页面:那么,如果我们想在Android模拟器上来访问,可以吗?答案是肯定的,但是访问的URL会有所变化,这又是为什么呢?请继续往下看.         在一般的Java Web程序开发中,我们通常使用localhost或者127.0.0.1来访问本机的Web服

Android模拟器访问本机服务器

Android模拟器访问本机服务器,用127.0.0.1访问不到,因为127.0.0.1已经被映射到模拟器了. 可以用以下两种方式访问 1. 用 10.0.2.2 2. 直接用 本机的IP地址,如:192.168.x.x .

H3C 模拟器 pc与防火墙,交换机相连,在pc cmd下用telnet访问交换机和防火墙

架构如图 实现目的 1 在pc端,用telnet访问核心交换机10.20.4.252 2 在pc端,用telnet访问二层交换机10.20.4.253 在此之前,pc_4,pc_5与交换机的配置不进行介绍 新建vlan 10 用于管理所有的交换机 ##配置二层交换机的telnet管理ip [sw-2-1]vlan 10 [sw-2-1-vlan10]int vlan 10 [sw-2-1-Vlan-interface10]ip address 10.20.4.253 [sw-2-1-Vlan-i

【转】android开发中关于模拟器emulation的常见问题

[转]android开发中关于模拟器emulation的常见问题 Trouble: 无法启动android模拟器,提示 XDM authorization key matches an existing client! SDL init failure, reason is: No available video device Oneway: 打开电脑的 Terminal 终端, 以当前图形界面用户的身份执行命令 xhost localhost 即可,如果想实现登录后自动执行这个命令,可以做以下

Android: 亲测解决模拟器启动慢的问题

1.首先在对应的sdk manager里面下载一个4.03以上的api. 这里我选择的是4.2.2 (api17) 2.选择里面的" Intel Hardware Accelerated Execution Manager" "Intel x86 Atom System Image" 来下载. 当然其他必备的也要下载. 看我勾选的项: 3. 下载完后. 对应的目录找到这个文件,安装.一直默认即可.然后重启电脑. 4. 创建模拟器 剩下的就是享受了.试试看 转自:ht