2014-03-06 3 views
1

안녕하세요, 동료 stackoverflowers!다른 네트워크에서 소켓 통신을 사용하십시오.

저는 현재이 기기와 통신 할 수 있어야하는이 앱을 개발 중입니다. 그런 종류의 통신을 위해 소켓을 사용하는 방법에 관한 멋진 가이드를 this 발견했습니다. 그리고 효과가있었습니다! .. 쉬다.

내 문제는 두 장치가 동일한 Wi-Fi에 연결되어있는 경우에만 작동한다는 것입니다. 어느 쪽이 싫은가 ... 그렇다면 장치 -A가 서버 & 장치 -B가 클라이언트이고 내부 IP 주소 (예 : 192.168.1.blahblahbla)를 사용하면 작동합니다.

-That's awesome, then why're complaining bro? 

글쎄, 나는 장치-A의 외부 IP (94.254.blabla.blabla 같은) 실제 IP에 연결할 수 있어야합니다. 그래서 너희들에게 내 질문은, 내가 어떻게하는거야? 어떻게하면 이런 일이 일어날 수 있습니까?

모든 도움이 appriciated 될 것입니다, 미리 감사드립니다.

신 셀리, Måns.

+0

아마도 피어 투 피어 연결을 찾고있을 것입니다 : http://stackoverflow.com/questions/5041426/peer-to-peer-communication-options – Daniel

답변

0

이것은 네트워킹 질문과 비슷하지만 차이점은 없다는 것입니다. 당신이 벌거 벗은 유일한 다른 것은 방화벽 보호입니다. 공용 IP가 아닌 사설 IP를 사용하여 장치에 연결할 수 있다면 연결을 차단하는 것 (방화벽 또는 라우터의 방화벽 일 가능성이 있음)이 있음을 의미합니다.

대상 장치에서 연결중인 포트가 연결을 차단하지 않았는지 확인해야합니다. 나머지는 같습니다.

+0

거의 모든 모바일 * 네트워크 제공 업체가 방화벽을 운영 할 것입니다 들어오는 연결을 차단합니다. –

+0

사용자가 라우터와 관련된 Wi-Fi 연결을 사용하고 있음을 의미합니다. – nKn

+2

아, 좀 더주의 깊게 읽어야했는데 포스터가 wifi 네트워크가 아닌 3g를 지원하고 싶다고 생각했습니다. 어쨌든, 둘 다에 일반적인 해결책은 공중 인터넷에 중간 서버이다, 재구성 된 모든 wifi 네트워크를 얻는 것은 iffy이기 때문에. –

관련 문제