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

안드로이드와 pc 서버 socket 통신 질문드립니다.

0 추천
안드로이드 -> pc server(c/c++) 이렇게 소켓 통신을 할려고하는데요.

new Socket("127.0.0.1", port) 했는데 연결이 안됩니다.

안드로이드 말고 자바로 했을때는 저 코드로 접속이 잘되는데 안드로이드는 안되더군요 ㅠㅠ

해결 방법 좀 부탁드리겠습니다.
우랴 (3,680 포인트) 님이 2015년 3월 12일 질문

3개의 답변

0 추천
127.0.0.1 은 로컬호스트입니다
즉 동일 pc 에서 소켓열고 접속까지 할때의 상황이죠
pc 의 아이피를 입력해주시면 되겠습니다
mamondebaltob (32,750 포인트) 님이 2015년 3월 12일 답변
pc 아이피를 입력해서 해봤는데요.
현재 공유기 2개를 사용해서 인터넷을 사용하고있는데요.
밖에 있는 공유기를 따와서 안에 있는 공유기에 연결해서 사용중입니다.
이럴경우 아이피주소가 밖에 있는 공유기 아이피주소를 사용해야하나요?
흠 상황이 잘이해가 안되긴하는데
두 디바이스가 동일 공유기에 물려있는 상태면 될꺼에요
그리고 아이피는 공유기에서 준 내부아이피 사용하시구요
답변 감사드립니다.
지금 상황이 외부허브 -> 내부허브 -> 인터넷전화기 -> 노트북 이런식으로 연결되어있습니다. 이상황에서는 연결이 안됐는데 외부허브 -> 내부허브 -> 노트북(와이파이) 하면 연결이 됩니다. 지금 이상황이 이해가 안돼서 죄송하지만 혹시 왜그런지 이유를 아시면 설명 좀 해주시면 안될까요 ㅠㅠ?
인터넷전화기를 써보진 않아서 정확하진 않지만 공유기 역할도 하지 않나요?
노트북이 인터넷전화기에 물려있을때 어떤 아이피로 설정되는지 알 수 있으면
될 꺼 같구요
내부허브 -> 인터넷전화기
                -> 노트북
이렇게 설정하기 힘드신가요?
내부허브->인터넷전화기->노트북일때 cmd ipconfig해서 나오는 아이피주소를 입력해서 연결을 시도했을때는 안됐습니다. 내부허브->노트북(와이파이) 일때는 접속이 되고있습니다. 인터넷전화기를 통해서 노트북에 연결하면 아이피주소가 ipconfig에서 나오는거랑 달라질수도 있나요?
0 추천
안드로이드의 와이파이 설정에서 아이피를 직접 설정해 주셔야 하는거로 알고 있습니다

내부 아이피로 설정을 하시면 내부망 서버에 접속 가능 합니다

저도 그렇게 개발을 진행했던거 같으네요
서영아빠 (580 포인트) 님이 2015년 3월 12일 답변
중간에 인터넷전화기를 빼면 서버에 접속이 됩니다. 근데 중간에 인터넷전화기가 연결되면 접속이 안됩니다 ㅠㅠ
0 추천
저도 인터넷 전화기는 안써봤는데..

말씀하시는거로 봐서는 인터넷전화기가 공유기 역할도 되있는거 같거든요.

포트포워딩 해줘야할거 같습니다..

 

무슨말이냐면, 외부에서 접근을 할때, 노트북의 ip를 보고 접근하는게 아니라 공유기의 ip를 보고 접근을 해요.

 

아마 외부망에 서버 구축해놓으시고, 폰으로 와이파이 잡아서 외부망에 소켓 연결하고 서버에서 ip찍어보면 휴대폰에 있는

ip가 아닌, 공유기의 ip가 나올껍니다.

그렇기때문에 공유기에서, 내아이피의 특정 포트로 들어온놈들은, 그쪽으로 보내주는.. 포트포워딩 설정을

해줘야되지 않을까 싶네요
아시리 (8,400 포인트) 님이 2015년 3월 13일 답변
...