在联网的 XNA WP7 游戏中,我想在游戏停用时通知服务器,例如,当我在游戏过程中按下搜索按钮时。游戏使用 HTTP 请求进行网络连接,看起来 HttpWebRequests 并没有立即得到处理,而是在 UI 线程的主循环中的某个时刻。换句话说,我在应用程序被墓碑化之前从停用的事件处理程序中发出的任何 HttpWebRequest 都不会得到处理。
有没有一种解决方法,而不必使用套接字重写整个网络代码,或者我只是误解了一些东西?
在联网的 XNA WP7 游戏中,我想在游戏停用时通知服务器,例如,当我在游戏过程中按下搜索按钮时。游戏使用 HTTP 请求进行网络连接,看起来 HttpWebRequests 并没有立即得到处理,而是在 UI 线程的主循环中的某个时刻。换句话说,我在应用程序被墓碑化之前从停用的事件处理程序中发出的任何 HttpWebRequest 都不会得到处理。
有没有一种解决方法,而不必使用套接字重写整个网络代码,或者我只是误解了一些东西?
deactivate 事件旨在用于在应用程序被停用(并且可能被墓碑化)时存储应用程序状态。此事件从未打算用于发出 Web 请求。请注意,如果您确实尝试在此事件中发出请求,仅仅因为应用程序没有收到响应并不意味着它不会到达服务器。
因为这是一个网络游戏,我假设你需要在线才能玩。如果是这种情况,如果设备失去网络连接会发生什么?当然,您会遇到同样的情况,但您肯定无法向服务器发送通知。
我怀疑您需要以不同的方式考虑您的应用程序模型。
如果您真的需要在线玩游戏,您是否没有服务器,如果在一段时间内没有收到来自设备的消息,则假设连接丢失
根据游戏的不同,如果连接只是短暂断开,您可能还需要考虑缓存任何游戏状态/动作。