버그 해결을 위한 모든 질문을 던져
0 votes
347 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 (10 point) , 347 views
UnityWebRequest를 HttpWebRequest로 변경 후 KeepAlive가 정상 작동되는걸 확인했습니다.

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

유니티 5.x 버전이후부터 동작한다는 글들을 봤는데 이해가 가질 않네요.
시간이 약간 지났지만 이 글을 보고 들어오시는 분들은 참고해주세요.

이제 UnityWebRequest에서 keepAlive를 Unity 2019.2.16 버젼 이상부터 지원합니다.

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

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

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

380 질문
507 answers
519 댓글
7,845 users