2010-10-22 72 views
1

我目前正在尝试构建(简化的)股票应用程序(如iphone上内置的应用程序)。我用一个REST接口设置了一个简单的服务器,我的应用可以与之通信。iphone股票应用程序的体系结构草图

但是我很努力地找到权利/最佳方式来构建iPhone上的这种(流数据客户端)客户端。

我现在最好的办法是使用计时器定期从服务器拉xml有效载荷(连接是异步的,但xml解析不是为此,接口有时会被阻塞,我有点害羞的线程编程因为我在其他平台上学到了一些经验教训)。

我阅读了关于websockets,但它并不清楚他们是否以及如何支持iphone。

你会怎么做?

任何提示将不胜感激,谢谢。

回答

0

websockets并不会帮助你 - 这是一个服务器端技术,使得类似于套接字的接口能够通过HTTP工作。

如果您不想阻止GUI,则需要使用另一个线程。你很害怕这样做,所以尽可能少地分享(最好不要)两个线程之间。使用消息传递机制从后台线程获取信息到UI线程。

在ActorKit看看:http://landonf.bikemonkey.org/code/iphone/ActorKit_Async_Messaging.20081203.html

+0

所以,基本上,一个计时器(后台线程内)内投票数据是要走的路?对其他推送技术有任何想法(尽管我并不是真的想要专利的xmpp服务器......) – michasvision 2010-10-22 12:56:55

+0

这更多的与你认为你会同时拥有多少客户以及你可以将多少服务器能力放在它后面。此外,数据多长时间发生变化以及可接受的延迟时间。如果一些延迟确定,轮询很好,并且您希望降低服务器的压力。在客户端上,如果您不想阻止GUI,则需要使用后台线程。 – 2010-10-22 13:15:48

0

看看这个question.

它谈论异步VS同步连接。您将希望使用异步调用来获取数据,以免锁定用户界面。您可以将它与轮询计时器一起使用,以从服务器获取数据。

您可以找到有关NSURLConnection的更多信息苹果的文档中here