쉽게 접할 수 있는 서버-클라이언트 소켓 통신 채팅 소스를 접했습니다.
한 단말기가 메인화면에서 서버로 작동할지 클라이언트로 작동할지 선택하고
클라이언트로 접속할시엔 서버로 작동하는 단말기의 IP주소와 PORT번호를 입력 해야합니다.
이 예제를 이용해서 채팅어플이나, 간단한 게임 어플을 만들고 싶은데...
IP주소를 직접 입력하는 방법 외에 어떻게 연결을 시켜줘야 하나요?
혹, 한 단말기가 가령 '시작' 이라는걸 하면 "상대방을 찾고 있습니다..." 라고 하고 임의의 단말기와 매치시켜 주는것 말이죠...
한 단말기가 서버로 작동하면 웹호스팅 같은곳 DB에 아이피를 저장시키고,
다른 단말기가 클라이언트로 작동하면 그 DB에서 아이피를 가져와서 연결하는 뭐 그런것인가요?
아주 쉽게 개발이 가능합니다. ^^
요즘은 거의 모든 단말이 소프트AP기능을 가지고 있고, 아니더라도 동일 AP에 접속하여
단말간 연결이 가능합니다.
먼저 상대방의 IP와 포트를 얻기위해서는 UDP 브로드캐스트를 이용하시면 되구요.
그 이후에는 TCP로 통신하시면 되겠습니다.
10분이면 개발이 가능하죠. 불가능하지않습니다. ^^
말씀하신 내용도 맞습니다. 일반 채팅앱 처럼 동작하려면 별도의 공인서버가 있어야겠지요.
하지만 질문자의 내용중에 한사람이 서버를 하고 나머진 클라이언트를 한다는 내용이 있고,
채팅이라는 한정이 아닌 서로 통신할수 있는 무언가를 만들려고 한다는 생각에서 위와 같이 답했습니다.
심플싱크 같은 앱, 혹은 간단한 상호작용 게임을 만들려고 하면 UDP, TCP로 충분할것입니다.
자세하게 답을 달지않아 오해를 일으킨 점 사과드립니다. ㅡ_ㅜ
황금오뎅님 쪽지는 받았습니다. 제가 생각한 바가 맞으면 다시 쪽지주세요. 좀더 자세히 알려드릴께요.
제가 생각한 바가 틀렸고 IP 대역을 뛰어넘는 무언가를 개발하시려면 질문하신 내용은 어려울 것 같습니다. ^^




네트워크에 대해 많은 공부를 하셔야할것 같네요.
단말기가 사용하는 IP는 public 이 아니라 거의 대부분이 private 입니다.
이 말은 포트포워딩이나 라우팅을 해줘야만 단말기를 서버로 쓸 수 있다는말이지요.
다시 말하자면 단말기 자체를 아무런 장비없이 서버로 쓰는것은 불가능합니다.