我正在开发一个Windows Phone应用程序,通过wifi与家庭局域网上的服务器通信,我遇到了一个显示停止:局域网内一个微小的HTTP请求的平均往返时间是600-800ms。
这只适用于独立手机。如果手机连接到运行Zune的PC,则手机开始通过Zune通话,响应时间从600ms降至20ms(!)。
我写了一个小的repro程序,每100ms发送一次HTTP请求并运行Wireshark跟踪。 跟踪显示服务器立即响应。电话延迟了请求,一次发送三到五个请求,大约每秒一次。
更多信息:
我的程序使用的是HttpWebRequest而不是WebClient。 我试图为每个请求生成线程,没有运气。 这发生在WP7版本和芒果上。 同样的事情是我跑掉我的工作或家庭Wifi。 在Mango中使用套接字API的低级实现表现出相同的行为。
我在App Hub上看到过同样问题的其他帖子。请帮助澄清为什么会这样。
答案 0 :(得分:1)
也许另一项实验会有所帮助。手机充电并使用WiFi发送信息。我怀疑这种批量是节电功能的结果。
答案 1 :(得分:0)
如果我理解正确,蜂窝网络链路层协议是突发性的,因此它们可以虚拟化并运行比转发器更多的连接。我怀疑这是你症状的根源。