지금 안드로이드(Client) - 데스크탑(Server) 으로하는 소켓 프로그래밍을 하려고 하는데요, 


안드로이드가 3g/4g 망으로 접속하려면 서버의 IP가 공인IP(public IP)여야 한다고 해서요, 제가 사용하는 Server는 iptime을 쓰는 거라, 사설 ip입니다.


여기서 질문입니다. NAT라는 걸 검색해보니, 사설아이피가 외부로 통신될때는 공인 IP로 바꿔서 해야하므로 NAT가 그걸 한다고 하는데, 사실.. 이론적으로는 무슨말인지 알겠으나, 실제로 적용하려니깐... 뭔가 뜬구름만 보이는것같은 느낌이랄까....


168.192.x.x 이런 ip가 사설ip라는 건 알겠는데 inetaddress같은 method를 사용해도 공인 IP는 알아낼 수가 없다라구요 ㅠㅠ


결론적으로 Client 코드 상에서 어떻게 Server의 public IP를 알아내어 소켓통신을 해야하는가....??


이것이 궁금합니다 ㅠ도와주세요 많은 고수님들..