2

在联网的 XNA WP7 游戏中,我想在游戏停用时通知服务器,例如,当我在游戏过程中按下搜索按钮时。游戏使用 HTTP 请求进行网络连接,看起来 HttpWebRequests 并没有立即得到处理,而是在 UI 线程的主循环中的某个时刻。换句话说,我在应用程序被墓碑化之前从停用的事件处理程序中发出的任何 HttpWebRequest 都不会得到处理。

有没有一种解决方法,而不必使用套接字重写整个网络代码,或者我只是误解了一些东西?

4

1 回答 1

2

deactivate 事件旨在用于在应用程序被停用(并且可能被墓碑化)时存储应用程序状态。此事件从未打算用于发出 Web 请求。请注意,如果您确实尝试在此事件中发出请求,仅仅因为应用程序没有收到响应并不意味着它不会到达服务器。

因为这是一个网络游戏,我假设你需要在线才能玩。如果是这种情况,如果设备失去网络连接会发生什么?当然,您会遇到同样的情况,但您肯定无法向服务器发送通知。
我怀疑您需要以不同的方式考虑您的应用程序模型。

如果您真的需要在线玩游戏,您是否没有服务器,如果在一段时间内没有收到来自设备的消息,则假设连接丢失

根据游戏的不同,如果连接只是短暂断开,您可能还需要考虑缓存任何游戏状态/动作。

于 2011-08-16T21:03:17.423 回答