게시판 구현시 첨부파일의 전달을 어떻게 묶을 수 있을까요?
글쓴이: gurumong / 작성시간: 목, 2017/07/13 - 1:44오전
웹은 아니고 앱을 통해서 게시판이 구현되어있습니다
아마 통신의 관점에서 보았을때 특별히 다르지는 않다고 생각되는데요
우선 구현된 게시판에 대해서 설명드리면...
게시판에 첨부파일이 있는 게시물을 작성하면 두단계의 통신을 거쳐서 보내게 되는데요
우선 첫번째 HTTP 연결을 열어서 게시물의 내용(제목, 본문)을 json 형태로 보냅니다
전송이 완료되면 이어서 두번째 HTTP 연결을 새로 열고 첨부파일을 보내는 식입니다
그리고 이러한 통신은 모두 별도의 스레드에서 수행되거든요
여기서 문제가 발생하는데
모든 통신이 백그라운드에서 별도의 스레드에서 처리하기 때문에
게시물 작성 완료 버튼을 누르는 즉시 논블럭킹 상태로 사용자가 다른 작업을 할 수 있게 됩니다
게시물의 업로드가 완료되기까지 지루하게 기다리지 않아도 된다는 장점이 있긴한데
게시판으로 돌아왔을때 이때 미쳐 딸린 모든 첨부파일의 업로드를 완료하지 못한 게시물이 먼저 보인다는 문제가 있습니다
게시판이라는게 워낙 널리 쓰이고 발생가능한 문제들에 대해서 해결 방법도 있을꺼 같은데
어떤 해결 방법이 있을까요? ㅜ.ㅜ
Forums:
유명한(?) 게시판 코드들이 어떤 식으로 구현했을지는
유명한(?) 게시판 코드들이 어떤 식으로 구현했을지는 모르겠습니다만,
업로드가 완료되지 않은 게시물이 보이는 것 자체가 문제라면 서버 쪽에서 아직 업로드를 받고 있는 게시물은 목록 페이지에 나오지 않도록 해버리면 그만일 것 같고요.
일단 목록에는 보이도록 하되(글쓴이 입장에서도 자기가 쓴 글이 안 보이면 그러니까) 첨부 파일 부분 처리를 어떻게 해야 할지가 문제라면... 일단은 게시물 보기에 들어갔을 때 서버에서 내려받는 정보 중에 첨부 파일 상황을 추가하고(없음/업로드 중/업로드 완료), 웹소켓 같은 것을 써서 완료가 되었을 때 클라이언트로 통보해주게 하든가, 아니면 클라이언트 쪽에서 현재 업로드 중일 경우는 AJAX 같은 걸로 몇 초 간격으로 다시 요청을 보내어서 정보를 갱신하다가 완료라는 값을 받으면 그때 화면에 표시해주는 식으로 할 수도 있을 것 같네요.
좋은 하루 되세요!
댓글 달기