2012-03-05 6 views
0

두 아이폰간에 소켓을 연결할 수는 없습니다. 그래서 내가하고 싶은 것은 메시지를 받아들이고 적절한 사람에게 재배포하는 클라이언트 응용 프로그램 사이에 하나의 서버를 두는 것입니다. 본질적으로 응용 프로그램은 사람들이 자신의 위치를 ​​가진 공유 된지도를 가질 수있게하고 모두가 주석을 달 수 있습니다.iPhone CFSocket 수신/발신 메시지

1) CFStream 클래스를 읽고 연구했지만 C send() 및 recv() 함수를 사용하는 것이 더 좋을지 궁금합니다. 그들은 거의 사용하기가 훨씬 쉬워 보입니다. CFStream은 네이티브 C 소켓 기능보다 나은 옵션을 제공합니까?

2) 다른 사용자의 업데이트 된 공유 사용자 위치/새로운 주석을 적극적으로 청취하기 위해 전화가 필요하기 때문에 정기적으로 전화를 통해 다른 사용자의 모든 "뉴스"(예 : 매분 또는 두). 어쨌든 전화가 끊임없이 들어오는 트래픽을 기다리고있는 응용 프로그램의 새 스레드를 돌릴 수 있습니까? 사용자가지도에 주석을 달고 서버로 보내면 적절한 사용자 맵을 즉시 업데이트 할 수 있습니다.

O'Rielly Media의 Jonathan Zdziarski의 iPhone SDK 책의 소켓 코드 예제를 사용하여 서버와 iPhone 에뮬레이터 (클래식 노크 농담 서버/클라이언트)간에 메시지를 보내려고합니다. 그러나 1 또는 2 개의 메시지를 보내면 서버가 "수신 중"에 걸리게됩니다. 이 코드는 에뮬레이터에서 전송되지 않을 때 완벽하게 실행됩니다. 클라이언트 전송 기능에 스팸 메일을 보낼 수 있고 매번 서버에서 응답을받을 수 있기 때문입니다. CFRead 및 Write 스트림 대신 send() 및 recv()를 사용하기 때문에 서버가 멈출 수 있습니까?

답변

0

bonjour 또는 GameKit (모든 데이터를 관리하기 때문에 내가 사용하는 것)를 사용하여 iPhone 응용 프로그램을 소켓 연결할 수 있습니다.

관련 문제