iPhone SDK Network기능


아이폰이 가지는 여러가지 하드웨어 기능가운데에 네트워크 기능은 고급 어플리케이션을 개발하고자 하는 개발자라면 반드시 주목해야할 부분입니다. 특히 아이폰에서는 이통사와 연결되는 3G망 외에 WiFi망에 자유롭게 접근할수 있는 무선랜 기능을 제공하기 때문에 어플제작의 범위가 상당히 넓다.

일단 iPhone OS에서 제공하는 네트워크 기능에 대해 알아봅시다.
일반적으로 네트워크 기능이라 하면, 한 시스템이 다른 시스템과 통신할수 있는 모든 수단을 뜻하지만, App레벨에서는 IP수준에서의 통신(TCP통신을 의미)을 칭합니다.

TCP를 이용하는 방법은 다음과 같습니다.
1. BSD socket API를 이용하는 방법
2. CF Networking 관련 라이브러리를 이용하는 방법
3. NSStream클래스를 이용하는 방법

BSD socket API는 일반적으로 GCC환경에서 사용하는 소켓과 관련된 API입니다. 기존의 TCP소켓 프로그래밍 방법을 그대로 사용할수 있다는 말이죠.

CF Networking관련 라이브러리는 Cocoa에서 제공하는 네트워킹 관련 API들입니다. BSD socket API를 좀더 쓰기 쉽게 Wrapping해둔 형태라고 보면 됩니다.
RunLoop에 대한 동작을 포함해서, 별개의 Thread를 생성하지 않고 쉽게 소켓프로그래밍을 할수있습니다.

NSStream관련클래스는 Cocoa에서 제공하는 상위레벨의 API로 CFNetworking라이브러리에서 제공하는 CFSocket을 이용하여 비동기화 형태로 네트워킹을 상당히 이용하기 쉽게 구현하고 있습니다.

Thread와 RunLoop에 대한 문서
http://developer.apple.com/documentation/Cocoa/Conceptual/Multithreading/Multithreading.pdf

(주)리화이트 대표 / CEO & Founder

Next ArticleiPhone Mashup 준비과정