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

안드로이드폰에서 서버소켓을 생성하고 클라이언트의 접속을

0 추천
안드로이드폰에서 서버소켓을 생성하고 클라이언트의 접속을 기다립니다

테스트는 pc 와 안드로이드폰2대 공유기 입니다

서버인 폰에서 127.0.0.1 로접속하면 잘됩니다

서버인 폰에서 192.168.200.178 로접속해도 잘됩니다

다른폰에서 192.168.200.178 로접속해도 잘됩니다 속도가 느릴경우도있습니다

 

근데 pc 에서 192.168.200.178 로접속하면 접속될때도 있고 안될때가 더많습니다

pc 에서 접속됬다가 또 조금있으면 안되는데

pc 에서 접속안될때도 폰으로는 접속이 잘됩니다

 

이현상을 어떻게생각해야되나요?

 

서버소켓은 80 번포트로 생성되었으며

테스트는 브라우저로 접속을 시도했습니다
잡부 (5,110 포인트) 님이 2015년 2월 20일 질문

2개의 답변

+1 추천
 
채택된 답변
다른 폰으로 연결 도중에 pc 로 시도하신건 아닌지요
서버가 클라이언트 하나만 받게 했다면 그럴꺼같네요
mamondebaltob (32,750 포인트) 님이 2015년 2월 20일 답변
잡부님이 2015년 2월 20일 채택됨
서버는 서버의능력대로 클라이언트의 접속을 허용합니다
pc 접속시도와 별도로 연결시도해도 마찬가집니다
여러가지를 조합해서 시도했는데도 이유를 알수없이
접속이 안됩니다
서버가 작동하는 폰에서는 항상 접속이됩니다
근데 pc 도 잘안되지만
다른폰에서 접속시도해도 마찬가지로 접속이 되었다 안되었다 합니다
pc 나 폰이나 접속공유기는 동일한공유기에 접속되어있습니다
아니요 그렇지 않습니다
코드가 어떻게 되어있는지 모르겠는데
클라이언트마다 별도의 스레드를 생성해주고
있지 않다면 해당 문제가 발생할수 있습니다
서버는 서비스에서 실행되어져 동작하고있습니다
그리고 서버는 쓰레드에서 동작하고
엑셉트시 클라이언트로 따로 쓰레드생성해서
클라이언트접속마다 쓰레드에서 동작되게되어있습니다
밑의 글에 잠시 답글달자면
브라우져는 80 포트와상관없습니다
브라우져는 클라이언트기 때문에 다른 웹서버 80포트에 접속하는 것이니까요

공유기에서 dmz 를 폰아이피로 설정하시고
pc에서 외부아이피로 접속해도 안되는지 한번 확인해보세요
밑의분말씀대로 80말고 다른 포트도 해보시구요
브라우저가 문제일수도 있으니
텔넷이나 다른 프로그램으로
접속시도해보세요
pc 나 다른폰에서 접속이 안된이유는
서버가실행된폰이 화면꺼짐상태에서는 외부 접속이 안되는것같습니다
서버폰은 화면을 다시켜고 시도했기때문에 접속이 되었던것같구요
화면이 켜진상태에서는 pc나 다른폰에서도 접속이되는것같습니다
다시테스트해보니
화면꺼짐상태에서는 외부접속이 안되는것이 맞는것같은데
이게 서비스의문제인지 소켓의 문제인지...
화면꺼짐상태에서도 외부에서접속할수있도록하는 퍼미션같은것은 없을까요?
아..
서비스를 startForeground 로 돌려보세요
그러면 서비스가 꺼지는 일은 없을겁니다
서비스가 살아있는지 체크해보는 코드를 넣어보세요
스레드 따로 만들어서 1초마다 틱 찍는거라든지
감사합니다 많은도움되었습니다
새해복많이받으세요
0 추천
이것은 말로해서 토론할 문제가 아니라 소스를 공개하셔서 봐야 할 문제 같네요

80포트는 브라우져가 이미 사용하고 있는 포트입니다

피시쪽에서 80포트를 이미 사용하고 있다면(브라우져 오픈하고 있는 상태) 당연히

포트를 중복해서 사용할수 없으니깐 통신이 일시적으로 안되었다..되었다가 하겠져

테스트를 80으로 하시지말구 8080 으로 대체를 해보신후에 해보세요

아마도 포트 충돌 문제 같습니다

폰으로 웹서버를 만드시는거라면 소켓 접속이 아니라 브라우져 접속이니깐 다른문제구요

그리고 소스를 공개해야 어떻게 접속을 해서 문제가 생기는 알수가 있어요

 

글쓴분은 아니다를 주장하고, 다른분들은 내용을 잘 모르니 이럴것이다? 라고 말할수밖에 없지요

 

---------------------------------

doridori2013@nate.com
익명사용자 님이 2015년 2월 20일 답변
...