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 命令行,执行:

telnet localhost 5554

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

3、在console下执行:

格式: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可以进行删除。

相信只要理解了PC电脑和Android模拟器系统之间通信,便知道怎么实现多个模拟器之间通信。

需要注意的是:如果模拟器不是和本机通信,那么该方法也无效,socket能够建立,但是无法发送和接受数据!

java安卓模拟器和电脑通信_PC电脑和Android模拟器访问及模拟器之间tcp/udp通信相关推荐

  1. android模拟tcp接口转发,PC电脑和Android模拟器访问及模拟器之间tcp/udp通信

    一. Android系统为实现通信将PC电脑IP设置为10.0.2.2,自身为10.0.2.15/127.0.0.1.然而PC电脑并没有为Android模拟器系统指定IP,所以PC只能通过端口重定向来 ...

  2. 21天学会Java之(Java SE第十三篇):网络编程、TCP/UDP通信

    如今,计算机已经成为人们学习.工作.生活必不可少的工具.人们利用计算机可以和亲朋好友在网上聊天,玩网游或发邮件等,这些功能的实现都离不开计算机网络.计算机网络实现了不同计算机之间的通信,而这些必须依靠 ...

  3. 高性能 TCP UDP 通信框架 HP-Socket v3.2.3

    HP-Socket 是一套通用的高性能 TCP/UDP 通信框架,包含服务端组件.客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP 通信系统,提供 C/C++.C#.Del ...

  4. QT TCP/UDP通信

    参考:43黑马QT笔记之Qt下Tcp/Udp通信过程_Mango酱的博客-CSDN博客 HTTP与TCP的区别和联系_satellite13的博客-CSDN博客 TCP和UDP的区别: UDP通信 服 ...

  5. Android开发使用ServerSocket ServerSocketChannel DatagramSocket进行TCP UDP通信 实现服务器与APP消息推送

    前言 在日常开发中采用Http协议进行数据传输的情况非常多,但这都是APP主动请求服务端,将数据传到服务器或者从服务器下载数据:那么如果我们想服务器主动联系我们或者我们频繁的上报消息给服务器,怎么弄呢 ...

  6. GO实现TCP/UDP通信

    目录 GO的网络编程 客户端和服务端模型 TCP通信 server端 client端 聊天模式 服务端 client端 UDP编程 服务器配置 客户端配置 GO的网络编程 客户端和服务端模型 七层模型 ...

  7. 黑马程序员_Java学习日记第八天--TCP/UDP通信、正则表达式

    ------- android培训. java培训.期待与您交流! ---------- UDP/TCP 如何实现通信: 1,找到对方IP 2,数据要发送到对方指定的应用程序上.为了标识这些应用程序, ...

  8. 【.NET类库】通过SharpSocket进行TCP/UDP通信数据传输

    类库作用: 用于基于TCP/UDP协议的数据通信,调用简单,高效. 封装了和业务无关的底层细节,让开发人员可以专注于做业务 完善的示例代码: 针对类库的几种用法,都提供了较为详细的示例代码 一.TCP ...

  9. gb28181简单实现sip信令服务器(java版基于springboot):四、sip摄像头心跳保活、推流(tcp/udp)和结束推流

    心跳文本 //摄像头发送过来的Keepalive保活信息 MESSAGE sip:34020000002000000001@192.168.1.201:5060 SIP/2.0 //MESSAGE 方 ...

最新文章

  1. framework层和native层实现联网控制(iptable方式)
  2. java SocketChannel and ServerSocketChannel
  3. 使用secureCRT连接VMware-Ubuntukylin虚拟机
  4. 手把手教你写一个Java的orm框架(4)
  5. 30分钟全面解析-SQL事务+隔离级别+阻塞+死锁
  6. Safari tabindex 不工作的问题 (误
  7. 一.Spring框架基础
  8. C#使用带参数的存储过程
  9. Javascript 中继承汇总
  10. 倍福--编码器模块的使用
  11. Win10系统安装office后excel等文件图标显示异常
  12. 应用概率统计(陈魁)第十一章(回归分析)部分课后答案
  13. java resultset 不关闭_关于ResultSet的关闭问题
  14. flask debug模式logging模块报错os.rename(self.baseFilename, dfn) WindowsError: [Error 32]
  15. 扫描二维码启动微信打开特定页面
  16. 计算机网络原理第二章答案
  17. j2ee常用工作流比较(shart、osworkflow、jbpm)
  18. 后缀是php,php是什么文件_文件后缀php是什么意思
  19. [汇总III]微软等公司数据结构+算法面试第1-80题[前80题首次集体亮相]
  20. 进服务器网站报错应用程序,IIS:应用程序池中的服务器错误、超时时间已到

热门文章

  1. opop如何和计算机链接,oppo如何连接电脑
  2. 电脑开机遇见a disk read error occurred场景:
  3. JavaScript高级程序设计(第4版)学习随笔【第六章】
  4. OPPO手机测试指令代码大全
  5. python反距离权重法_先从IDW(反距离权重)插值开始吧
  6. RV-LINK:将 GD32VF103C-START 开发板变成 RISCV-V 仿真器
  7. android 编译
  8. 基于LSTM的上证指数预测
  9. 百度云分享文件自己设置密码
  10. ASP.NET的图片上传和显示