redir之后只接收少量UDP数据包。 (Android模拟器)

时间:2012-10-08 15:47:37

标签: java android udp emulation

我写了一个桌面java程序,与我想要达到的服务器交谈并让它正常工作。我可以发送和接收UDP数据包。我知道如何移植我对android所做的事情。我已经乱搞了Android Emulator几天,并遇到了接收UDP数据包的问题。如果我启动我的应用程序,建立与服务器的连接,然后重新启动我正在使用的端口,我得到〜130个进来的数据包然后什么都没有...我使用WireShark来确保服务器仍在发送数据包并且它是。在Android的模拟器上有类似IP Flood Detection的东西吗?

编辑:

拼写

  • 服务器已连接到我的开发计算机所连接的交换机。
  • 服务器正在响应我从桌面应用程序发送的数据包。
  • 服务器正在将数据包发送到开发者的IP地址。
  • 我正在使用的redir命令是“redir add udp:port:port”

  • 当我发出redir命令时,我得到~130包,其地址为“10.0.2.2”

  • 我尝试过“adb forward udp:port udp:port”并获取“无法绑定到套接字”
  • 来自仿真器外部的服务器IP是“10.10.0.100”

修改

  • 服务器不在模拟器或其他Android设备上

2 个答案:

答案 0 :(得分:1)

我使用类似的设置进行了测试并获得了相同的行为。

在aprox之后每秒发送一个UDP数据包。 130个数据包在仿真器中运行的接收器停止接收数据包,并且我确认数据包一直被发送。

我使用SDK 10和SDK 15在模拟器中进行了上述测试,两者均在英特尔加速执行管理器中运行。

它看起来像是模拟器重定向功能中的错误,或者正如您所建议的那样,某种类型的网络防洪。

答案 1 :(得分:0)

我买了一台Nexus 7,运行这个我一直在努力的应用程序,可以收到3000多个数据包。看起来像模拟器的东西。