【问题标题】:listen to asp.net mvc-4 server in ios application在 ios 应用程序中监听 asp.net mvc-4 服务器
【发布时间】:2012-07-30 17:30:52
【问题描述】:

我的服务器是一个 REST 平台(使用 asp.net MVC 4 web api 构建),我的客户端是 ios 应用程序(当然是在 Objective-C 中)。 目前,对于所有操作,客户端使用 http POST、GET、PUT、DELETE 查询服务器。 但是有一种情况,服务器需要通知客户端发生了什么事。

Apple 方式是推送通知,当用户为应用授权推送通知时可以,但即使用户关闭推送通知,我也需要通知应用(当它在前台时)。

现在有两种方法可以做到:

  1. 客户端每隔几秒查询一次服务器(在 http GET 中)是否发生了什么事(我们到了吗?我们到了吗?:)
  2. 客户端以某种方式打开到服务器的套接字并使其保持打开状态,等待服务器通过打开的会话通知它发生了什么事。

那你建议怎么做? 1 还是 2?还是有第三种方法? 如果选项 2 有人可以引导我如何有效地做到这一点?考虑到我的应用应该处理超过 100,000 个活跃用户?

谢谢

【问题讨论】:

    标签: c# objective-c sockets rest client-server


    【解决方案1】:

    看看SignalR。它是 Microsoft 实时库,但有人为它写了 iOS client library

    【讨论】:

    • 你能详细说明一下吗?走你在这里建议的方式意味着我需要在服务器上安装 SignalR microsoft 库,在客户端上安装 iOS 客户端库,并使用 signalR API 打开 ios 客户端和 C# 服务器之间的持久连接?
    • 我也看到它主要用于广播到一个组,而我需要发送给特定的用户。它对这项任务也有效吗?
    • 您需要有一个托管 SignalR“集线器”的服务器,但想法是客户端向集线器注册,这会打开到它的持久连接。然后,发生事件的系统将带有事件详细信息的消息发布到集线器。然后,集线器将更新实时发送到客户端设备。这一切都很酷,但确实需要某个地方来托管集线器。
    • 是的,您可以发送给特定用户。查看这个问题了解更多信息:stackoverflow.com/questions/7872589/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-02
    相关资源
    最近更新 更多