Android 模拟器 (qemu) 不允许某些 tcp 连接(RST,ACK 作为对 SYN 的回答)

标签 android android-emulator qemu

虽然 Internet 浏览在模拟器中工作,但我的应用程序也在模拟器中运行,无法通过 TCP 端口 5222 连接到 Internet 上的服务器。我很确定我的路由器或我的电脑上没有涉及防火墙,因为我可以从我的电脑远程登录到那个 ip:port。

这是在模拟器上截取的 packettrace 的屏幕截图:http://i.stack.imgur.com/sIFFM.png

模拟设备上的数据包跟踪显示,每个发送到该特定端口的 SYN 数据包都使用 RST、ACK 进行应答,并且连接被我的应用关闭并出现“连接错误”。

为什么模拟器会阻止(?)这些端口?我该如何更改它?

最佳答案

模拟器在它自己的网络上运行,所以如果你想通过不同的端口进行通信,你必须为非标准端口正确设置转发。

如果你想让外部应用程序连接到你在模拟器中运行的应用程序,你需要设置你的转发,这样外部应用程序将连接到你的开发机器上的端口,模拟器会将它的连接转发到 10.0.2.15这是模拟器地址。

有关更多信息,请参阅开发指南:

http://developer.android.com/guide/developing/tools/emulator.html#connecting

关于Android 模拟器 (qemu) 不允许某些 tcp 连接(RST,ACK 作为对 SYN 的回答),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4740966/

相关文章:

java - Cordova 3 Android 插件 - 如何在主要 Activity 中调用函数?

Android 模拟器无法运行

linux - 用于 RHEL 的 gdb-multiarch

php - libvirt-php 收到错误 : internal error Unable to locate libvirtd daemon in/usr/sbin

java - 搜索栏监听器

android - 使用SlidingActivity时是否可以编辑父Activity的内容

android - 有没有办法在模拟器中将 ro.kernel.qemu 设置为 0?

process - 从 xv6 中的进程关闭 qemu

android - Facebook 执行并等待

android模拟器只在eclipse(ubuntu 11.10)中显示字符串 "android"