2010-04-06 2 views
1

iPhone 응용 프로그램을 만들고 싶습니다. 소켓 프로그래밍에 대한 경험이 없으므로 이해할 수있게 도와주세요. iPhone 응용 프로그램에서 폴링을 오래 할 수 있습니까?iPhone 응용 프로그램에서 긴 폴링을 수행하는 방법은 무엇입니까?

또한이 목적으로 NSURLConnection을 사용할 수 있습니까? 아니면 일부 저수준 API를 사용해야합니까?

동일한 라이브러리를 사용할 수 있습니까?

답변

2

체크 아웃 CocoaAsyncSocket.

+0

@shaggy thanks ... 나는 이미 그랬지만, 다른 방법으로 그것을하고 있거나 이것에 대한 유일한 라이브러리입니다. –

+0

CocoaAsyncSocket은 저수준 CFStream 프레임 워크를 사용하여 비즈니스를 수행합니다. CFStream을 사용하여 직접했던 것을 다시 구현할 수도 있고, 정말로 원한다면 CFSocket을 사용할 수도 있습니다. 아니면 BSD 소켓으로 끝까지 갈 수 있습니다. 하지만 Cocoa에서 소켓 프로그래밍을 할 경우 iPhone의 경우 CocoaAsyncSocket으로 시작해야합니다. –

2

롱 폴링은 자바 스크립트와 같은 언어로 영구 연결을 열 수 없습니다. NSURLConnection과 같은 방법으로 긴 폴링을 수행 할 수 있지만, CFStreamCreatePairWithSocketToHost 또는 이와 유사한 방법으로 전체 양방향 소켓을 여는 것이 훨씬 더 효율적입니다.

롱 폴링은 기본적으로 전문 용어로서의 해킹입니다.

+1

해명 해 주셔서 고맙습니다 .....하지만 일반적인 생각으로는 채팅 응용 프로그램을 만드는 방법이 어떨까요? 그 방향으로 나아갈 수있는 진정한 도움이 될 것입니다. –

+0

채팅은 클라이언트보다 서버에 관한 것입니다. jabber와 같은 표준 채팅 서버를 선택하면 아마도 iPhone 용 오픈 소스 클라이언트 구현이있을 것입니다. 나는 어떤 것을 사용하지 않았기 때문에 Shaggy 나 Google에서 사용중인 채팅 프로토콜에 대한 조언을 따를 것입니다. – drawnonward

관련 문제