버그 해결을 위한 모든 질문을 던져
0 votes
83 views
 private IEnumerator Post(string uri, string json, int timeOut)
        {
            UnityWebRequest unityWebRequest = new UnityWebRequest(uri, UnityWebRequest.kHttpVerbPOST);
            unityWebRequest.SetRequestHeader("Content-Type", "application/json");
            unityWebRequest.SetRequestHeader("Cache-Control", "max-age=0, no-cache, no-store");
            unityWebRequest.SetRequestHeader("Pragma", "no-cache");

            unityWebRequest.timeout = timeOut;
            unityWebRequest.downloadHandler = new DownloadHandlerBuffer();
            byte[] byteData = System.Text.Encoding.ASCII.GetBytes(json.ToCharArray());
            unityWebRequest.uploadHandler = new UploadHandlerRaw (byteData);

            yield return unityWebRequest.SendWebRequest();

            // end
        }

간략한 코드형식은 위와 같습니다.

타겟 플랫폼은 모바일이구요, 유니티에디터에서 테스트중입니다. (2019 버전)

구글링을 했을때 UnityWebRequest클래스가 기본으로 keep-alive를 지원한다는 글을 봤는데

실제 사용시 클라이언트가 매 통신마다 커넥션을 맺고 바로 끊고있다는 서버측 피드백을 받았습니다.

서버측에 Keep-Alive 설정은 30초로 되어있는 상태구요. 

자체 테스트시 잘 작동한다는 답변을 받은 상태입니다.

 

UnityWebRequest 클래스를 풀링해서 써야하나 싶어 테스트해봤는데 재사용이 불가능한 클래스 같고

도저히 이유를 모르겠습니다.

답변 부탁드립니다.

asked (5 point) , 83 views
UnityWebRequest를 HttpWebRequest로 변경 후 KeepAlive가 정상 작동되는걸 확인했습니다.

UnityWebRequest는 keepAlive를 기본으로 지원하지 않는걸까요?

유니티 5.x 버전이후부터 동작한다는 글들을 봤는데 이해가 가질 않네요.

질문에 대한 답변을 하려면 로그인 또는 가입해야합니다.

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

239 질문
367 answers
376 댓글
470 users