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

안드로이드에서 PC로 통신을 하고 싶습니다.

0 추천
같은 와이파이 환경에서는 통신이 가능하나,
안드로이드는 3g,  PC는 와이파이를 사용할 경우 통신이 되질 않습니다.
 

왜 이런지 자세한 해답좀 알고싶습니다 ㅠㅠ
메론녹차 (120 포인트) 님이 2014년 7월 20일 질문

1개의 답변

+1 추천
3g망 4g망은 보안문제로 포트를 제공하지 않기 때문에 서로 통신이 되지 않는것입니다.
즉 코딩상에서 서버오픈 했지만 클라이언트가 접속하지 못합니다

이를 해결 하려면

집 인터넷과 공유기사용중이라면 공유기설정과 피시용 서버단 프로그램 제작이 필요합니다.

먼저 열린포트가 무엇인지 부터 찾아보고 찾았으면 공유기에서도 해당 포트를 열어두어야

외부아이피가 접속이 가능해집니다 즉 공유기 설정을 해야

3g, 4g, 외부집인터넷 등에서 서버로 접속이 가능해 집니다.

프로그램으로는 피시용 서버, 피시용 클라이언트, 스마트폰용 클라이언트의 제작이 필요합니다.

즉 스마트폰용 서버는 의미 없습니다 그것은 핫스팟 경우는 열결된 본체빼고 타 장치끼리만 통신이 가능합니다.

서버단 프로그램이 하는 일을 설명하자면

일단 쓰레드 계념과 멀티쓰레드, 동기화 등을 먼저 이해 하셔야 합니다.

서버단에서 하는일은 각 각 클라이언트가 접속하고 메세지 등을 날리면 서버는 각각 클라이언트에서

해당 메세지를 전달해줍니다. 서버가 포트가 열려 있는 피시에서 구동하기 때문에

외부 어떤 아이피로든 서로 통신이 가능합니다.

이를 쉽게 설명하지만 네이트온과 같은 메신져는 전용서버피시가 따로 있습니다.

일대일 채팅의 경우 서버가 되는 피시또는 장치는 해당 포트가 열여 있어야 통신이 가능합니다.

하지만 포트가 열러있는 서버를 따로 두고 멀티쓰레드를 먹힌 프로그램이 짜서 구동 해 놓고 있다면

클라언트는 p2p 방식이 아닌 서버를 열지 않고도 해당 서버로 접속하므로 네이트온 등의 메신져는

공유기에 포트를 따로 열지 않아도 통신이 되는 것입니다.

네이트온과 같은 파일전송 프로그램을 통해 파일을 전송시 직접 만드는것보다 전송속도가 안나옵니다 그 이유가

전송된 파일을 네이트온 서버를 걸쳐 네이트온 서버가 받고 그 정보를 해당 아이디에게 다시 전달하기 때문 입니다.

즉 이런 환경이죠 피시1 -> 피시2 -> 피시3 처럼 피시1이 네이트온서버에 파일을 보내고 피시2가 피시3에게 파일은 전송하게 됩니다 중간에 걸치는 과정이 있기에

속도가 안나올수 밖에 없죠 직접 만든것은 서버가 본인꺼라 바로 전송되는 것과 같이 빨리 전송됩니다 제가 체감하는걸로는 10기가 데이터를 30분에 전송되엇습니다

가정용 인터넷은 업로드가 얼마 안나오는것을 가정해보면 이는 엄첨 빨리 전송된것이랍니다.
리카엘 (660 포인트) 님이 2014년 7월 20일 답변
...