iphone应用程序如何与服务器交互?

时间:2010-07-17 02:24:53

标签: iphone objective-c cocoa-touch xcode

我是一名新的程序员,他是iPhone开发和服务器的新手。我有很多问题要问。

您不必回答所有问题;任何帮助表示赞赏!

  1. iPhone应用程序如何与服务器交互?
  2. 我应该使用哪种服务器来将iphone应用与服务器进行交互吗?
  3. 如果没有特定类型的服务器,那么可以使用哪种服务器?
  4. 它们的优点和缺点是什么?
  5. iPhone应用程序(客户端)应该做什么才能与服务器进行交互?
  6. 服务器如何知道将数据发送到哪个iPhone?
  7. 服务器应该如何与iPhone应用程序(客户端)进行交互?

2 个答案:

答案 0 :(得分:12)

您最好的办法是让您的iPhone发出Web服务器的Web请求。您的iPhone应用程序就像一个Web浏览器,向Web服务器发出http请求,并解析响应。

我正在构建一个应用程序,它可以访问我编写的用于执行数据库工作等的PHP脚本,并返回JSON对象。这不是花哨 - 我可以构建一个完整的SOAP或RPC Web服务,但我没有这样做,它只是使用查询字符串参数发出GET请求。

您想了解一些方便的图书馆。谷歌“iPhone JSON”找到Stig Brautaset编写的JSON库,这是人们似乎最常使用的一个。此外,不要让自己完成iPhone内置的Web客户端框架所需的所有环节,而是获得ASIHTTPRequest,这是一个非常强大且简化的简化Web客户端库。

作为一般规则,您希望尽可能多地在服务器上进行处理。例如,我的应用程序中有一个地方我正在搜索在用户指定的本地坐标范围内发生的事件(“距离我10英里内”)。我编写了PHP来构建纬度/经度边界框,并根据该数据库从数据库中进行查询。这比把一堆事件放下来然后让Core Location计算他们离我站立的距离更快。

答案 1 :(得分:4)

你问了很多问题所以我会尽力回答这些问题:

首先,您需要更清楚一点,您在谈论什么类型的服务器?电子邮件服务器,Web服务器,lolcat服务器,它取决于。

在基本级别,iphone通过互联网进行通信。互联网使用互联网协议,IP上有两个标准协议:传输控制协议和用户数据报协议。每个都有它自己的用途和功能。

TCP / IP和UDP / IP构成了互联网通信的支柱。

在这两个互联网协议的基础上构建了一个更具体的应用程序协议,具有给定应用程序的特定格式。例如,HTTP是通过TCP在Web服务器和Web浏览器客户端之间传输HTML和其他Web信息的标准协议。

因此,您的iPhone将使用与服务器通信所需的任何协议。对于更常见的服务器通信,iOS SDK提供了构造消息的方法(例如,如果您希望向Web服务器发出HTTP请求,则可以使用initWithContentsOfURL发送GET请求。)

如果您构建了自定义服务器,则需要在iphone上构建所需的消息协议,并使用TCP或UDP(无论您的自定义服务器需要什么)将其发送到服务器。

相关问题