2011-07-28 4 views
0

저는 iPhone 용으로 개발하는 방법을 배우면서 쓰려고하는 작은 응용 프로그램에 가장 적합한 옵션을 결정하려고합니다. 응용 프로그램에서 내 웹 사이트에 요청을 보내면 데이터베이스가 업데이트되고 사용자에게 웹 화면에 경고 메시지가 표시됩니다. 이 문제가 성공적으로 발생하면 iPhone에 메시지가 나타납니다.웹 서비스 V HTTP 게시?

내 데이터베이스는 MySQL이고이 사이트에는 PHP를 사용하고 있습니다. 내가 REST 또는 SOAP을 사용하여 고려했지만 지금은 HTTP 요청에서 POST 배열을 사용하는 것을 고려하고있다. 초보자를 위해 사용하기에 가장 좋은 옵션은 무엇입니까?

감사합니다, BON

BTW 죄송이 모든 이전 요구하고있다,하지만 난 분에 목표 C를 배우려고 노력하고이 나에게 모든 새로운됩니다.

+0

. 예를 들면 다음과 같습니다. http://stackoverflow.com/questions/6598415/iphone-app-json-posting-data-to-remote-database/6598630 – Cyrille

답변

1

기본 HTTP보다 REST에는 그다지 많은 부분이 없습니다. REST가 추가하는 부분은 HTTP 동사 (POST/GET/PUT/DELETE)가 데이터베이스 작업에 매핑해야하는 규칙과 URL 경로가 매핑되는 방식입니다 리소스.

SOAP는 현명한 선택이 아닙니다. 이 시나리오에서는 정말 흥미로운 것은 제공하지 않지만 상당한 오버 헤드 (대역폭 및 처리 복잡성 측면에서)를 도입합니다.

일반 HTTP보다 간단한 JSON 인터페이스를 선택합니다. Apache에서 PHP를 실행하는 경우 모든 요청을 하나의 핸들러 스크립트로 간단히 다시 작성하고 거기에서 원래 URL을 분석하여 원하는 작업을 수행 할 수 있습니다. JSON 반환은 간단하고 간단합니다. 중첩 된 배열 구조를 만들고 json_encode을 호출하고 결과를 에코합니다. RESTful 규칙 (HTTP 동사 동작을 나타냄)을 따르 든 쿼리 문자열 매개 변수 (예 : ?action=insert)를 사용하든 상관없이 쿼리 문자열 매개 변수는 구현하기가 쉽고 HTTP 동사는 RESTful 철학에 더 가깝습니다.

+0

+1 "기본 HTTP보다 REST가 더 많지 않습니다. . " –

0

간단한 HTTP를 사용하는 것이 좋습니다. 매우 빠르고 쉽게 구현할 수 있습니다.

요청을 만들려면 :
NSString *url = @"your request"; 
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:20.0]; 
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self]; 

if(connection) 
{ 
    _systemsData = [[NSMutableData data] retain]; 
} 
else 
{ 
    NSLog(@"NSURLConnection failed!"); 
} 

가 그럼 그냥 방법을 구현 : 여기에 시간의 전체를 많이 논의되고있어

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response 
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error 
- (void)connectionDidFinishLoading:(NSURLConnection *)connection