1. 아이폰 근거리 통신 리서치(Bluetooth, GameKit, Bonjour) A팀 클라이언트 김정현
2. 리서치 시작 동기 및 목표 나도 모르는 사이에 시공(時空)을 공유 하고 있는 누군가와 교류를 하면 재미있을 것 같다. 근거리 내의 유저끼리 스쳐지나갈 정도의 짧은 시간동안 상호 캐릭터 정보를 교환할 수 있게 하고 싶다.
3. 결 론 Only Bluetooth : GameKit API Bluetooth + Internet Connect(Include Wi-Fi Direct) : Bonjour
4. 왜? GameKit⊃ Bluetooth GameKit⊅ Internet Connection Bonjour ⊃ GameKit Bonjour ⊃ Internet Connection GameKit은 결국 Bonjour를 쓰기 편하게 만들어 놓은 Wrapper 인 것이다.
11. BlueTooth상호 인증 과정 connectionTypesMask = GKPeerPickerConnectionTypeNearby|GKPeerPickerConnectionTypeOnline;
12. The Peer Picker 우린 더 복잡한 건 안해줘요코드 - (void)peerPickerController:(GKPeerPickerController *)picker didSelectConnectionType:(GKPeerPickerConnectionType)type { if (type == GKPeerPickerConnectionTypeOnline) { picker.delegate = nil; [picker dismiss]; [picker autorelease]; // Implement your own internet user interface here. } }
14. GameKit없이 블루투스 쓰고 싶어요! If Bluetooth is enabled, on a new-enough device (3G and above, or iPod equivalent, or iPad) and a new-enough OS (3.1 apparently), Bonjour will automatically work over Bluetooth using link-local addresses (168.254.*). Then you just use TCP/UDP normally. (Under the hood, I'm pretty sure GameKit uses Bonjour-over-IP-over-Bluetooth.) Supposedly the publishing/browsing is done at the Bluetooth layer, but if one publishes a Bonjour service and the other browses for it, an automatic IP-over-Bluetooth connection is established. Any Bonjour examples should automatically work. 한마디로 봉주르 쓰면 아이피잡힌거처럼 동작하면서 블루투스될꺼라는 말. http://stackoverflow.com/questions/3844189/bonjour-over-bluetooth-without-gamekit
15. GameKit없이 블루투스 쓰고 싶어요<2> http://stackoverflow.com/questions/1049393/gamekit-in-iphone-sdk-3-0 질문 요약 : Peer Picker안쓰고블루투스 쓸 수 없을까요? 답변 요약 : GameKit API 를 쓰든가 아예 Bonjour를 써라
16. GameKit없이 블루투스 쓰고 싶어요 <3> The second way to do it is to use standard Bonjour service selection mechanisms. GameKit is implemented on top of Bonjour (but over Bluetooth instead of WiFi) so once the two sides have gone through network reachability with each other and connected they are registered under Bonjour and act like any Bonjour service would. The GameKit way is probably a little easier, but if you already have code for WiFi it can be reused for Bluetooth as well. http://stackoverflow.com/questions/1049393/gamekit-in-iphone-sdk-3-0
17. 대체 Bonjour가 머길래? zero-configuration networking architecture addressing (allocating IP addresses to hosts) naming (using names to refer to hosts instead of IP addresses) service discovery (finding services on the network automatically) 즉, 아무것도 설정 안하고 기기를 사용 가능하게 함 네트워크 프린터 IP 설정 따위 개나 줘버려 일종의 Network Plug and Play 기본적으로 TCP/IP 기반 이거 쓰면 Bluetooth, Through Internet 다 된데요.