해결된 질문
작성
·
328
0
안녕하세요. 양질의 수업 잘 듣고 있습니다!
string host = Dns.GetHostName();
IPHostEntry ipHost = Dns.GetHostEntry(host);
IPAddress ipAddr = ipHost.AddressList[0];
IPEndPoint endPoint = new IPEndPoint(ipAddr, 7777);
Unity 클라이언트의 위 코드를
IPAddress ipAddr = IPAddress.Parse("45.157.574.15");
IPEndPoint endPoint = new IPEndPoint(ipAddr, 7777);
이렇게 제 외부 IP 주소를 넣고 서버를 켠 후
클라이언트를 다른 컴퓨터에서 실행시켜 봤는데 연결이 안되더라고요... (포트 포워딩도 했고 예제 샘플로도 시도해봤습니다.)
구글링을 해봐도 IP주소를 저렇게 지정하면 된다고만 나와있어서 어떤 식으로 더 찾아봐야할지 감이 안잡히네요...
코드 자체에는 문제가 없고 공유기 설정과 같은 외부 문제
코드 자체가 문제
강사님이 보시기에는 어느 부분이 문제일 거 같은지 단서라도 주시면 더 열심히 찾아보겠습니다.
더 찾아보다가 너무 오래걸려서 작은 힌트라도 얻고자 질문드립니다..
답변 1
1
외부에서 연결을 시도하려면 사설IP가 아닌 공인IP이거나,
같은 네트워크망에 있어야 합니다.
강의에서 Dns.getHost~~로 주소를 얻어온 것은 같은 네트워크망이라 가정한 것이고
실제로 AWS 등 원격 서버에 띄워서 운영을 하게 됩니다.
cmd에 가신 다음 ping IP주소를 통해 핑이 가는지 테스트 해보시면
통신이 될지 예측이 가능합니다.
코드 자체에는 문제가 없다는 말로 이해하고 공유기 설정이나 방화벽을 이것저것 건드려 보고 결국 연결에 성공했습니다...
처음으로 다른 사람이 제 서버에 접속해서 돌아다니는 걸 보니 너무 기쁘네요 ㅠㅠ
게임 제작을 너무 좋아하는데 루키스님이 알려주시는 개발 지식이 너무 큰 도움이 되었습니다. 덕분에 공부 의지도 마구마구 생기네요
이번에 멘토링도 하게 됐는데 잘부탁드리겠습니다!