2012-03-12 4 views
4

나는 거의 내 REST 서비스를 위해 iOS 클라이언트와 함께 작업을 마쳤습니다. 내가 놓친 유일한 이유는 클라이언트가 네트워크에서 UDP 방송을 수신 할 수있는 능력으로, 호스트 표시 이름과 업로드 URL을받습니다. 네트워크에는 여러 대의 서버가있어 방송을 기다리고 업로드를 기다릴 수 있습니다.udp 브로드 캐스트 패킷 수신

비동기가 바람직합니다. 장치가 장치를 발견하면 서버가 사용자에게 표시되고 사용자는 언제든지 서버를 선택할 수 있기를 원합니다.

브로드 캐스터가 255.255.255.255로 전송 중이며 데이터를 반환하지 않습니다.

나는 객관적인 C의 초보자이기 때문에 사용하기 쉽고 간단합니다.

답변

3

나는 CocoaAsyncSocket을 보는 것이 좋습니다. 그것은 UDP 소켓을 잘 처리 할 수 ​​있습니다. 나는 그걸로 방송을 듣지 않으려 고 노력했지만, 아마도 최선의 방법 일 것입니다.

+1

나는 그것이 나에게이 알려주는 GCDAsyncSocket의 새로운 인스턴스를 만들려고 할 때 : ImageShareViewController.o LD에 objc 수준의-REF : 아키텍처 i386을위한 정의되지 않은 심볼 : "_OBJC_CLASS _ $ _ GCDAsyncUdpSocket"에서 참조를 : 아키텍처에 대한 기호가 없습니다. i386 clang : 오류 : 링커 명령이 종료 코드 1과 함께 실패했습니다 (호출을 보려면 -v를 사용하십시오). 나는 그것이 실행되고 싶지 않다는 것이 무엇인지 모르겠습니다. 그것은 아키텍처를 좋아하지 않기 때문에 아이폰 시뮬레이터. 어떤 아이디어? – nick

+0

이것은 GCDAsyncUdpSocket 코드를 연결하지 않음을 의미합니다. iOS 개체 만있는 정적 라이브러리를 연결하거나 라이브러리를 전혀 링크하지 않았거나이 대상의 일부로 원본을 컴파일하지 않았기 때문일 수 있습니다. –

+0

작동 시키려면 ARC를 비활성화해야했습니다. 내가 알아야 할 중요한 위험이 있습니까? – nick

관련 문제