해결된 질문
작성
·
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)
:5001이라고 적어야 했는데 오타문제였네요
복붙하고 저부분만 손으로 코딩해서 오타문제일 리가 없다고 생각했는데 부끄럽네요...
감사합니다!