차트 받아올때 중간에 자꾸 끊기는 현상이 있습니다.

문의를 남기실 경우 다음 항목을 작성해 주시면 빠른 답변 처리에 도움이 됩니다.

  • 프로젝트명 : 썩쏘키우기
  • 뒤끝SDK 버전 : 5.4.5
  • 에러 코드 :
    차트 받아올때 자꾸 멈추는 증상 있습니다.
    업데이트했는데 유저들이 로딩에서 멈춰서 못들어오고 있어요…

안녕하세요 개발자님.

차트를 받아오는 함수명과 함수 호출 방식(동기, 비동기, SendQueue),
멈춤 이후에 나타나는 증상(게임 자체가 튕김, 게임의 끊김현상이 발생함등)도 함께 알려주시면 감사하겠습니다.

Backend.Chart.GetChartContents를 비동기 방식으로 호출하고 있고 받는 도중 다음으로 끊기는 현상이 있는거 같습니다.
현재 내부 인원 테스트로는 재현이 안되고 있으면 간혈적으로 발생하는 유저가 있는 듯합니다.
확인좀 부탁드립니다.
접속이 안된다는 이유로 평점이 많이 까이고 있습니다…

안녕하세요!
지난 주말 랭킹 보상이 이상하게 들어왔다는 제보가 많아서
확인을 좀 해보고 싶은데 확인하는 방법이 따로 없는거 같아서 여쭤봅니다.

테스트를 진행중이오나 해당 현상의 재현이 잘 되지 않아 추가 질문드립니다.

  1. Backend.Chart.GetChartContents의 callback 에는 어떤 작업이 이루어지고 있나요?
    (클라이언트에 얻은 차트 데이터 대입, 콜백의 리턴값으로 json 파싱만 수행등)

  2. callback에서 try catch문을 통해 에러가 발생해도 에러문을 보여주거나 다음 작업을 진행 할 수 있는 예외처리가 있을까요?

  3. 로딩 되는 차트 중에 업데이트 시 바뀌거나 추가된 차트가 있을까요?

  1. 성공적으로 콜백이 이루어지면 text 파일에 내용을 저장한 후에 받아온 json데이터를 클라이언트 값에 적용합니다.
  2. 로드 중에 에러가 날 경우는 로딩 진행이 멈추고 180초뒤에도 안되면 서버 연결이 끊겼다는 팝업이 뜨고 내보냅니다.
    (이 상황은 나오지 않아야하는게 정상인거 같습니다.)
  3. 데이터 추가로 용량이 늘어난 차트가 있습니다.

1,2. 가능하다면 GetChartContents의 callback 코드 공유가 가능할까요?(댓글 혹은 DM)

  1. 용량은 어느정도로 늘어났으며 현재 해당 차트 csv의 총 용량과 행과열의 수는 얼마정도 인가요?

Backend.Chart.GetChartContents( uuid, (contents)=> {//SendQueue.Enqueue

        //string local = contents.GetReturnValuetoJSON().ToJson();
        //PlayerPrefs.SetString(tablename, contents.GetReturnValue());
        //string[] temp = tablename.Split('/');
        if (contents.IsSuccess())
        {
            string[] names = { tablename, ".txt" };

            string path = Path.Combine(filePath, names.setStringBuilder());
            FileStream file = new FileStream(path, FileMode.Create, FileAccess.Write);
            StreamWriter writer = new StreamWriter(file, System.Text.Encoding.Unicode);
            writer.WriteLine(contents.GetReturnValue());
            writer.Close();

            setJsonInit(tablename, contents.GetReturnValuetoJSON()["rows"]);

            if (loadingProgress == jsonTables.Length - 1)
            {
                isLoading = true;
                Invoke("onLoadGameScene", 3f);
            }
        }
        else
        {
            PlayerPrefs.DeleteAll();
            Transform popuptrs = null;
            popuptrs = GameObject.Find("Canvas").transform;
            COneButtonPopup popup = CPopupManager.Instance.openPopup(popuptrs, "LoginOneButtonPopup").GetComponent<COneButtonPopup>();
            popup.onUpdateInfo("서버 통신이 원활하지 않으니 재접속 부탁드립니다.", () =>
            {
                Application.Quit();
            });
        }
     
    });

서버 로그를 확인해본 겨로가, 차트 기능중에 에러가 발생하는 로그는 확인되지 않았습니다.

새로 다운받았을 때 파일 읽기/쓰기의 권한이 없거나,
용량이 커지고 데이터가 추가되면서 파일을 읽고 쓰는 도중에 에러가 발생하여 if문 전에 에러로 인해 동작이 중단되었을 수 있으므로,

callback 안에 있는 코드를 try catch문으로 감싸서 에러가 발생하는지 확인해주시면 감사하겠습니다.