2011-07-31 4 views
0

HTTP POST 요청을 사용하여 특수한 유형의 원격 장치와 통신 할 수있는 iOS 장치 용 응용 프로그램을 만들고 싶습니다. 문제는이 장치가 실제로 클라이언트의 역할을 수행하는 반면 iOS 장치는 요청을 받아들이는 서버 여야한다는 것입니다. 다음 문제 인 호스트 이름과 포트는 요청을 보내는 장치에서 정적으로 구성되어야합니다.Bonjour를 사용하여 iOS 장치 주소를 간단하게 지정하려면 어떻게해야합니까?

NAT 라우터 뒤에있는 iOS 장치의 문제를 극복하기 위해 동적 DNS 서비스와 UPnP/IGD 또는 NAT-PMP를 사용할 수 있음을 알고 있지만 Bonjour를 사용하면 문제를 단순화 할 수 있는지 궁금합니다. 어떤면에서는 문제. 저는 네트워킹의 초보자입니다. 방향을 찾고 있고 Bonjour에 대한 연구를 피하려고합니다.

문제를 해결하는 방법에 대한 다른 아이디어도 인정됩니다.

+0

네트워크 토폴로지에 대한 더 나은 설명은 iOS 장치와 다른 로컬 네트워크상의 '클라이언트'장치가 도움이 될 수 있습니까? –

+0

실제로 요점은 아니기 때문에 인터넷을 통해 통신해야하며 iOS는 일부 라우터 및 NAT 뒤에있는 Wi-Fi 또는 3G를 사용할 수도 있습니다. –

+0

Bonjour (mDNS)는 WAN에서 사용할 수 있지만 실제로는 링크 - 로컬 네트워크상의 광고/발견. iPhone이 셀룰러 네트워크를 통해 연결된 경우 uPNP는 iOS에 실제로 의존 할 수 없습니다. 장치가 인터넷에 연결되어 있거나 라우터 뒤에 있습니까? –

답변

1

나는 이것에 대해 생각해 보았다. 아무리해도 WAN을 통해 iOS 기반 서비스를 공개 할 수는 없다는 것을 보장 할 수는 없으므로 실용적이지 않습니다.

내가 제안하는 최선의 해결책은 uPNP를 사용하여 라우터 뒤의 장치를 외부 세계에 개방 한 다음 세부 정보 (호스트 이름, IP, 포트 등)를 사용하여 iOS push notification을 iPhone으로 보냅니다.

그러면 iPhone은 방화벽으로 연결된 장치와 지속적인 연결을 설정하여 데이터를 수신해야합니다.

0

Bonjour는 로컬 네트워크에서만 서비스/클라이언트를 검색하고 연결할 수있는 좋은 시스템입니다. 나는 인터넷을 통해 그것을 시도하는 것이 좋은 생각이라고 생각하지 않습니다.

관련 문제