android - 了解长轮询 : client (android) and server (asp net)

标签 android asp.net-mvc long-polling

我正在开发 Android 应用程序,用户可以在其中进行某种战斗。在服务器端,我需要接收用户开始战斗的请求,然后使用某种算法,为他选择最合适的对手。在战斗中,我还需要向竞争对手发送有关对手行为的通知。

所以看来我需要在我的服务器上实现长轮询。我的问题是:

  1. 服务器端。我正在使用 asp.net mvc 服务器。我看了看 SignalR框架,它似乎正是我所需要的。但是,正因为我对long polling是个新手,所以一直没有了解它的内部工作原理。所以我需要解释如何使用这个框架,或者如何以其他方式实现长轮询。

  2. 客户端。 据我了解,长轮询请求模型与标准的“请求-响应”模型略有不同,所以我也想知道如何在客户端实现这些请求边。

我期待着对我所描述的主题的任何解释。

最佳答案

这可能不是你要找的答案,但你为什么要进行长轮询。您可以对此类通知进行“拉取” 轮询如果您仅在用户参与战斗时进行轮询。
这样也可以节省电池生命周期。 战斗开始时,启动后台服务,每 2-3 秒轮询一次服务器(希望 2-3 秒的延迟是可以接受的)。并相应地通知用户。然后在战斗结束后停止服务。
这将更容易实现。
但是如果你需要即时通知,你可以使用Google Cloud Messaging Service (这是一种长轮询的形式)。要了解有关其工作原理的更多信息,请参阅 this

关于android - 了解长轮询 : client (android) and server (asp net),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13079145/

相关文章:

asp.net-mvc - ASP.NET MVC如何实现返回上一页的链接?

c# - 具有一个固定操作的 MVC 路由和具有多个可选参数的 Controller

c# - 将模型分配给 Razor 中的 Javascript 变量

Twisted:在服务器端进程完成时通知客户端

android - Animation在Android中是如何实现的

php - android json 发布到 php

php - 使用 Ajax 和 PHP 进行长轮询 - Apache 卡住

ajax - Node.js 长轮询事件循环破坏了整个代码

android - 如何创建默认应用程序实例的自定义实例?

java - Android Studio : Error: <identifier> expected error