簡體   English   中英

iphone應用程序如何與服務器交互?

[英]How does iphone apps interact with server?

我是一名新的程序員,他是iPhone開發和服務器的新手。 我有很多問題要問。

你不必回答所有問題; 任何幫助表示贊賞!

  1. iPhone應用程序如何與服務器交互?
  2. 是否有一種特殊的服務器我應該用來與服務器交互iphone應用程序?
  3. 如果沒有特定類型的服務器,那么可以使用哪種服務器?
  4. 它們的優點和缺點是什么?
  5. iPhone應用程序(客戶端)應該做什么才能與服務器進行交互?
  6. 服務器如何知道將數據發送到哪個iPhone?
  7. 服務器應該怎么做才能與iPhone應用程序(客戶端)進行交互?

您最好的辦法是讓您的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計算他們離我站立的距離更快。

你問了很多問題所以我會盡力回答這些問題:

首先,您需要更清楚一點,您在談論什么類型的服務器? 電子郵件服務器,Web服務器,lolcat服務器,這取決於。

在基本層面,iphone通過互聯網進行通信。 互聯網使用互聯網協議,IP上有兩個標准協議:傳輸控制協議和用戶數據報協議。 每個都有它自己的用途和功能。

TCP / IP和UDP / IP構成了互聯網通信的支柱。

在這兩個互聯網協議的基礎上構建了更具體的應用協議,具有給定應用的特定格式。 例如,HTTP是用於通過TCP在Web服務器和Web瀏覽器客戶端之間傳輸HTML和其他Web信息的標准協議。

因此,您的iPhone將使用與服務器通信所需的任何協議。 對於更常見的服務器通信,iOS SDK提供了構造消息的方法(例如,如果您希望向Web服務器發出HTTP請求,則可以使用initWithContentsOfURL發送GET請求)。

如果您構建了自定義服務器,則需要在iphone上構建所需的消息協議,並使用TCP或UDP(無論您的自定義服務器需要什么)將其發送到服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM