마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

채팅 프로그램 만드는 중에 IP 문제가 있습니다.

0 추천
기존에 PC로 채팅 프로그램 만들었을 때는

항상 IP가 고정되어 있어서 문제가 안되었는데요

모바일에 채팅 프로그램을 만드니 IP 문제가 생깁니다.

 

소켓으로 지정 IP를 할당하는데 모바일이 IP가 수시로 바뀌니 ㅠㅠ

이게 안되는것 같습니다. 이것을 어떻게 해결할 수 있는 방법 없을까요?

모든 채팅 앱이 푸시를 이용하는 것 같기도 하고요
초봉초봉 (3,480 포인트) 님이 2016년 11월 9일 질문
질문 하나 드려도되나요 ? 어차피 서버는 PC일텐데요(IP 고정) 그럼 서버를 모바일로 둔신다는 의미 인가요 ? 그게 가능한건지요 ? 불가능한것으로 알고있는데 아니면 제가 이해를 잘못한것인지요. 푸시야 어차피 FCM이나 GCM에서 REGID로 보내는 것이 가능하지만..
아~ 클라이언트 ip요 클라이언트 ip가 계속변해서 이동할 때 와이파이가 잡히거나 하면 소켓 통신이 안되서요. ㅠㅠ

1개의 답변

0 추천
 
채택된 답변
제가 알고 있기로 일반적으로 알려진 TCP와 모바일네트워크는 내부적으로는 다르다고 알고 있습니다.

일반적인 TCP 같은 경우에는 특정 port로 바인딩 하면 특별한 이슈 없으면 세션이 유지되지만

모바일네트워크 같은 경우에는 어플리케이션 레벨에서 Socket을 이용하여 TCP때와 똑같이 바인드를 하여도 내부적으로 통신이 없으면 세션을 유지하지 않는것 같더군요. 모바일의 이동성을 고려한 예외처리인것 같습니다.

이 기준이 통신사마다 다르고 또 3G냐 4G냐 앞으로 나올 차기 네트워크이냐 에 따라 아마 다를거에요.

 

가장 현명한 선택은 GCM을 쓰거나 로컬에서 별도로 운용하고 싶다면 MQTT를 사용해 보시길 권장 드립니다.
Development Guy (70,570 포인트) 님이 2016년 11월 9일 답변
초봉초봉님이 2016년 11월 9일 채택됨
네 맞습니다. ㅠㅠ 저도 열심히 알아보고 검색해본 결과 모바일에서는 답이 안나오더라고요 ㅠㅠ 아이피가 바뀔 때 마다 ASYNC 걸어서 확인한다는데.. 이것도 배터리 소모가 너무 빨리 일어나는 요인이고.. 대기 모드일때는 더 심하고요 ㅠ
...