2013-02-17 9 views
2

동일한 네트워크를 공유하는 경우 WiFi를 통해 내 PC에서 내 안드로이드 전화로 정보를 전송할 수있었습니다. 전화가 동일한 네트워크에 연결되어 있지 않은 경우, 즉 휴대 전화가 3g에 연결된 경우 동일한 방법으로 내 PC에서 내 전화로 정보를 전송할 수 있습니까?3g 이상의 안드로이드에서 소켓 프로그래밍

그런 경우 어떤 IP 주소를 사용해야합니까? 훨씬 더 힘들어? 누군가가 이것에 관한 어떤 사이트에 나를 말하거나 링크 할 수 있습니까?

답장을 보내 주셔서 감사합니다.

+0

인터넷에서 도달 할 수있는 공인 IP 주소가 있어야 PC가 필요할 수 있습니다. 일반적으로 공적 IP는 달성하기 위해 제공되는 인터넷 서비스에 추가로 지불해야하는 것이므로 만약 당신이 확신 할 수 없다면 대답은 불가능할 것입니다. – FoamyGuy

+0

@FoamyGuy, 인터넷에 연결된 모든 PC는 공용 IP를 가지고 있지만 일반적으로 하나뿐입니다. NAT를 사용하는 내부 네트워크의 모든 장치간에 공유됩니다. 이것을 ISP가 청구하는 고정 IP와 혼동 할 수 있습니다. – 323go

답변

0

이 경우 Android 휴대 전화를 찾아야합니다. 귀하의 PC는 그의 IP 주소를 모른다.

DynDNS 또는 유사한 서비스를 사용하여 DNS에 전화를 동적으로 등록 할 수 있습니다. 그런 다음 PC의 DynDNS 클라이언트를 사용하여 전화의 IP를 가져옵니다.

또 다른 방법으로 PC에 알려진 IP 주소가 있습니다. 그래서 안드로이드 장치가 요청을 보낼 수 있습니다, PC는 안드로이드의 IP를 기억하고 안드로이드에 정보를 보낼 때 그것을 사용합니다. 이 방법에는 두 가지 단점이 있습니다. PC는 NAT 뒤에 있으므로 (추가 관리 노력이 필요함) 동적 IP를 가질 수 있습니다.

웹 사이트가있는 경우 다른 방법이 있습니다. 클라이언트의 IP를 db 또는 file에 저장하는 스크립트 (예 : devreg.php)와 db/file에서 IP를 읽고 응답으로 보내는 다른 스크립트 (devfind.php)를 작성하십시오. 그래서 안드로이드는 devreg.php에 우선 요청을 보내고 IP를 저장합니다. 그러면 PC는 devfind.php를 요청할 것이고 응답으로 안드로이드의 IP를 보냅니다.

+0

답장을 보내 주셔서 감사합니다. 하지만 안드로이드가 PC에 전화하기를 원할 때, PC가 실제로 IP 주소를 알아야합니까? 나는 PC를 서버로, 전화를 클라이언트로하고 싶다. –

+0

안드로이드가 연결 이니시에이터 인 경우 PC의 IP 주소를 알아야합니다. PC가 NAT 뒤에 있으면 포트 리다이렉트를 설정해야합니다. PC 외부 IP가 동적 인 경우 DynDNS를 사용할 수 있으므로 Android 기기에서 찾을 수 있습니다. –

+0

고마워, 나는 너의 도움 덕분에 이것을 해결할 수 있었다! –