해결된 질문
22.11.29 00:24 작성
·
317
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
2022. 11. 29. 02:44
외부에서 연결을 시도하려면 사설IP가 아닌 공인IP이거나,
같은 네트워크망에 있어야 합니다.
강의에서 Dns.getHost~~로 주소를 얻어온 것은 같은 네트워크망이라 가정한 것이고
실제로 AWS 등 원격 서버에 띄워서 운영을 하게 됩니다.
cmd에 가신 다음 ping IP주소를 통해 핑이 가는지 테스트 해보시면
통신이 될지 예측이 가능합니다.
2022. 11. 30. 15:51
코드 자체에는 문제가 없다는 말로 이해하고 공유기 설정이나 방화벽을 이것저것 건드려 보고 결국 연결에 성공했습니다...
처음으로 다른 사람이 제 서버에 접속해서 돌아다니는 걸 보니 너무 기쁘네요 ㅠㅠ
게임 제작을 너무 좋아하는데 루키스님이 알려주시는 개발 지식이 너무 큰 도움이 되었습니다. 덕분에 공부 의지도 마구마구 생기네요
이번에 멘토링도 하게 됐는데 잘부탁드리겠습니다!