2014-01-28 3 views
3

Wi-Fi 네트워크의 다른 기기에서 실행되는 자체 버전에 연결해야하는 앱을 만들고 있습니다. 목표는 한 장치와 다른 장치 사이에 브로드 캐스트/클라이언트 관계를 설정하는 것입니다.Bonjour가없는 iOS 기기 검색

Bonjour가이 작업을 수행하는 데 사용되는 방법이라는 것을 잘 알고 있습니다.하지만 적어도 클라이언트에서는 다른 사람에게 나가기를 원할 때 iOS 장치로 잠그기 때문에 과묵합니다.

특정 포트 (예 : 43231)에서 브로드 캐스터의 웹 서버를 시작하면 클라이언트 장치가 자체 IP를 가져 와서 브로드 캐스터에 대한 해당 블록 범위를 스캔 할 수 있습니까? 네트워크에있는 다른 모든 임의의 장치에 대해 이와 같은 요청을 핑 (ping)하는 것에 대해 나쁜 점이 있습니까?

마찬가지로, 브로드 캐스터는 192.168.1.11입니다. 클라이언트는 192.168.1.4입니다. 클라이언트가 모든 장치가 192.168.1. * 블록에 있다고 가정하면 1-100 번 라인을 반복하여 방송사를 찾고 있습니까?

이 방법이 미친 경우 어떻게해야합니까?

답변

1

당신은 (UPnP에서 사용) SSDP 또는 네트워크를 통해 단지 multicast 메시지를 사용하고 (당신이 보낸 사람이 자신의 메시지의 수신을 원하지 않는 경우) 루프백을 무시하고, 동시에 그것을들을 수 있습니다.

+0

흥미 롭습니다. 이벤트가 시작될 때까지 방송사를 수동으로 유지하기 때문에 실제로 클라이언트에서 멀티 캐스팅하여 "등록"할 수 있습니다. – UltimateBrent

+0

예, Apples의 AirDrop과 유사한 응용 프로그램에 대해이 접근법을 사용하고 있으며 매우 잘 작동합니다. –

1

아마도 방송/검색에 Bluetooth 저에너지를 사용하는 것이 더 좋을까요? 연결할 수없는 광고 패킷을 서버 (IP 주소 포함)로 보내고 다른 모든 장치에서 수신 대기 할 수 있습니다. 장치가 그러한 패킷을 발견하고 IP 주소를 읽고 NSURLConnection (또는 이와 비슷한)을 통해 연결합니다.

+0

범위는 무엇입니까? – UltimateBrent

+0

이론에서 최대 50 미터지만 내 경험으로는 15-20m 거리 내에서 좋은 결과를 기대할 수 있습니다 – igoris