인프런 커뮤니티 질문&답변

zjarhd171님의 프로필 이미지
zjarhd171

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)

Cannot resolve destination host 오류가 뜹니다

해결된 질문

작성

·

1.5K

0

AccountServer #2 강좌에서 유니티 클라와 웹서버 연동 테스트하는 부분이 있는데

테스트로 GameScene에다가 다음 두줄을 넣고 테스트하는 부분입니다.


        Managers.Web.BaseUrl = "https://localhost.5001/api";
        WebPacket.SendCreateAccount("AAA", "1234");

브레이크 걸고 확인해보니 웹서버에는 CreateAccount([FromBody] CreateAccountPacketReq req)

가 실행조차 되지 않았습니다.

웹서버에 연결 자체가 안되는 것 같은데 구글에 쳐봐도 잘 모르겠고

어디가 문제인지 모르겠습니다.

심지어 웹서버쪽 코드와 유니티쪽 WebManager.cs, Webpacket.cs 코드는 죄다 복붙으로 만들어서 오타가 있을 리가 없을텐데...

로그가 생긴 함수는 다음과 같습니다.

uwr.isNetworkError가 true라서 로그가 발생했습니다.

    IEnumerator CoSendWebRequest<T>(string url, string method, object obj, Action<T> res)
    {
        string sendUrl = $"{BaseUrl}/{url}";

        byte[] jsonBytes = null;
        if (obj != null)
        {
            string jsonStr = JsonUtility.ToJson(obj); 
            jsonBytes = Encoding.UTF8.GetBytes(jsonStr);
        }

        using (var uwr = new UnityWebRequest(sendUrl, method))
        {
            uwr.uploadHandler = new UploadHandlerRaw(jsonBytes); 
            uwr.downloadHandler = new DownloadHandlerBuffer();  
            uwr.SetRequestHeader("Content-Type", "application/json");   

            yield return uwr.SendWebRequest();

            if (uwr.isNetworkError || uwr.isHttpError)
            {
                Debug.Log(uwr.error);
            }
            else
            {
                T resObj = JsonUtility.FromJson<T>(uwr.downloadHandler.text);  
                res.Invoke(resObj);   
            }
        }
    }

 

 

유니티 로그는 다음과 같습니다.

 

Cannot resolve destination host

UnityEngine.Debug:Log (object)

WebManager/<CoSendWebRequest>d__5`1<CreateAccountPacketRes>:MoveNext () (at Assets/Scripts/Managers/Contents/WebManager.cs:46)

UnityEngine.SetupCoroutine:InvokeMoveNext (System.Collections.IEnumerator,intptr)

답변 1

1

Rookiss님의 프로필 이미지
Rookiss
지식공유자

에러를 보니 서버 주소를 못 찾는 것 같은데요
localhost.5001

그런데 여기서 .이 맞나요?

이런 문제는 그냥 구글링을 해보거나,
이것저것 하면서 해결해볼 수 밖에 없습니다.
(http로도 해보고. 다른 웹클라 툴을 이용해 해당 서버 주소로 패킷도 쏴보고, etc)

프로그래머의 숙명이니 회사에서도 이런 문제가 발생했을 때
스스로 어떻게 극복했을지 고민해보면서 헤딩해보시기 바랍니다.

 

zjarhd171님의 프로필 이미지
zjarhd171
질문자

:5001이라고 적어야 했는데 오타문제였네요

복붙하고 저부분만 손으로 코딩해서 오타문제일 리가 없다고 생각했는데 부끄럽네요...

감사합니다!

zjarhd171님의 프로필 이미지
zjarhd171

작성한 질문수

질문하기