홀펀칭1 [Gomoku] 중개 서버를 통해 NAT 뒤의 두 클라이언트를 연결시키려면 | 홀펀칭(hole punching) 게임을 거의 완성했는데.. 네트워크 연결이 문제다. 방을 생성한 사람이 host가 되고 방에 입장하는 사람이 peer(client)가 되도록 했다. 그리고 TCP 프로토콜을 사용한다. 개발할 땐 단순히 피어가 연결하려는 상대의 IP주소와 포트를 localhost 주소와 정해놓은 포트 번호를 사용했다. 그런데 서로 다른 네트워크를 가진 호스트를 연결시키려면 중개 서버가 필요하다. 왜? 방에 입장하려는 사람이 방을 생성한 사람의 IP 주소와 포트를 모르니까. 그래서 중개 서버를 띄우고, 호스트들이 게임을 실행하면 가장 먼저 중개 서버에게 패킷을 전달하여 자신들의 IP 주소와 포트 정보를 주고, 방에 입장하는 사람은 중개 서버가 가진 IP 주소를 이용하여 입장하도록 하면 된다. 근데 또 이게 말처럼 간단하지가.. 2020. 11. 12. 이전 1 다음