Bonjour Networking for iPhone Development

iPhone 개발이 활성화 되면서 가장 까다로운 부분은 플랫폼 간의 파일 이동입니다.

애플에서 iPhone 의 내부 드라이브로 직접 연결하는 걸 막아놓았기 때문이죠.

그래서, 현재 Mac - iPhone 또는 PC - iPhone 간의 파일 이동에 가장 많이 쓰는 방법은 바로 Bonjour 입니다. 물론 iPhone - iPhone 도 가능합니다.

Bonjour는 같은 네트워크 상에 존재하는 Bonjour Service 들을 복잡한 설정없이 한 번에 찾고 연결시켜 주는 역할을 하기 때문에 맥 세상에서는 매우 빈번히 사용하고 있는 기술입니다.

가장 대표적으로 쓰이는 곳은 iTunes 입니다. 옵션에서 라이브러리 공유를 활성화하면 같은 네트워크에 있는 다른 컴퓨터의 iTunes 와 라이브러리를 공유할 수 있습니다.




다음은 Bonjour 에 대해 공부할 수 있는 자료들입니다.

Zero Configuration Networking: The Definitive Guide
여기 가시면 책의 샘플 코드를 다운로드 받을 수 있습니다.
국내 인터넷 서점에서 구매 신청을 할 수는 있지만 가격은 꽤 부담이 되더군요. 하지만 꼭 책을 보지 않더라도, 샘플 코드만 보고도 어느 정도 이해할 수 있습니다.




다음은 애플에서 제공하는 샘플코드입니다.
서버와 클라이언트 두 개의 소스로 나누어져 있고 서버 측의 이미지를 클라이언트에서 볼 수 있는 프로그램입니다.

Picture Sharing
Picture Sharing Browser

실행 화면은 다음과 같습니다.



Picture Sharing Browser 소스를 iPhone에 맞게 약간만 고치면 iPhone에서도 쉽게 이미지 공유가 되는 걸 확인할 수 있습니다. 단, iPhone용으로 변환하실 때는 테스트용 이미지를 적당한 크기의 이미지로 테스트해야 합니다. 위에 보시는 LadyBug는 너무 커서 iPhone에서 보이지 않는 것 같더군요.




다음은 MacResearch 에서 오늘 포스팅 된 글입니다.
Cocoa for Scientists (Part XXVIII): Bonjour and How Do You Do?
가장 기초적인 내용이 설명되어 있습니다.




위에 말씀드린 자료들의 내용들은 기본적으로 모두 같습니다.

이 외에 'Zero Configuration Network', 'zeroconf' 로 검색하시면 좀 더 정보를 찾을 수 있습니다.

위에서 말씀드린 책 내용 중에 프로그래밍과는 별 상관이 없지만 재미있는 것 하나 설명해 드리겠습니다.

가짜 iTunes 공유 라이브러리를 만드는 방법입니다.

터미널을 실행하고 다음을 입력합니다.
dns-sd -R "MY ITUNES LIBRARY" _daap._tcp local 9904

iTunes 에서 다음과 같이 공유된 목록으로 나타나게 됩니다.

물론 클릭하면 에러 메시지가 뜹니다.


dns-sd 는 Bonjour 프로그램의 디버깅을 도울 목적으로 여러가지를 수행할 수 있습니다.


트랙백

이 글과 관련된 글 쓰기 (트랙백 보내기)
TrackbackURL : http://felaur.egloos.com/tb/2079220 [도움말]

덧글

  • 타다만감자 2009/06/24 23:25 # 삭제 답글

    Bonjour 관련하여 꼭 여쭤볼것이 있습니다.
    혹시 메신져에 추가해도 될런지요 ?
덧글 입력 영역