Swift-如何从Web服务中检索频率的消息?

时间:2016-01-30 04:00:59

标签: swift nstimer

我正在尝试开发聊天应用。我用php和mysql创建了我的web服务。 Web服务的响应是json格式。

迅速;我将一些参数发布到网址并检索json响应然后显示消息。我使用nstimer来发布和检索我的json响应的响应。如果有新消息则显示它。

我不想使用nstimer来检索邮件。有没有更好的方法呢?

谢谢

2 个答案:

答案 0 :(得分:1)

如果您有REST-ful服务,定期轮询几乎是执行此操作的标准方法。

您可以考虑使用实时更新机制来传递邮件,或者通知客户端您需要与服务器同步,而不是轮询。 Google开发了一个非常强大的跨平台解决方案,允许您使用推送通知协议实现此目标:

Google GCM XMPP

答案 1 :(得分:1)

看看这个tutorial。它使用XMPP来回传递消息。

但如果你想自己做,只是为了了解你有两个选择:

  1. GETPOST处使用restful api。你的计时器并不坏。我建议更改应用程序在后台的时间或根本不更改。您可以使用parse之类的内容发送PUSH通知,并在用户重新启动应用时重新启动GET来电。

  2. 您可以使用WebSockets。 WebSockets的工作方式很像BSD套接字,除了它们包装在HTTP(S)隧道中。使用Web套接字,您可以检查您要查找的客户端是否已连接。如果是,您只需向他们发送消息即可。如果不是,则执行类似于选项一的操作,使用parse向他们发送通知。

  3. 希望有所帮助。

    修改

    由于解析正在关闭,您可以使用其他类似的服务。我从未使用过kinvey,但似乎他们也提供类似上面提到的push notification解析的服务