태그 : 파일업데이트

파일 업데이트 사용에 대한 고민.

지난 번 DB 이용 방법에 대해서 약간의 고민을 했던 것과 비슷하게 파일 업데이트에 대한 것을 잠시 고민하고자 짧은 글이지만 핵심적인 이야기를 하고자 합니다.

파일을 업데이트 하는 방식 중

첫번째로 서버쪽 파일과 클라이언트 쪽 파일을 비교해서 최종 수정 시간이 언제인가를 확인 한 뒤에 서버 쪽이 더 최신의 수정 시간을 갖고 있을 경우 업데이트를 하는 방식.

두번째로 파일의 크기를 비교해서 서버쪽과 클라이언트 쪽의 파일 크기가 다르다면 업데이트 하는 방식.

마지막으로 클라이언트의 버전 정보를 서버쪽에 전송 받아서 버전이 구 버전인지 확인을 한 뒤 파일을 업데이트 하는 방식.

이렇게 3가지 방식을 두고 고민을 하고 있습니다.


일반적으로 게임에서 많이 볼 수 있는 파일 업데이트 방식은 두번쨰 방식을 주로 이용하는 것으로 알고 있는데 과연 두번째 방법이 좋은 것인지에 대해서는 확실히 알수는 없다고 생각 되는 부분이 존재합니다.

만약 클라이언트 쪽에서 바이너리 편집기를 이용해서 파일의 내용을 수정한다면 파일의 사이즈는 변화가 없기 때문에 서버 입장에서는 전혀 문제가 없다고 판정을 내린다는 점과 이 문제를 해결하고자 클라이언트의 파일들을 서버가 일일이 내용까지 확인한다는 것은 서버 입장으로는 무리수를 두는 시스템이라고 생각되는 부분입니다.

그리고 첫번째 방법은 단순히 파일의 최신 업데이트 날짜 비교가 아니여도 서버쪽에 파일 수정 시각과 클라이언트 쪽에 파일 수정 시각이 다를 경우에 업데이트를 한다고 약간 바꿔서 생각 한다면 편리할 것이라고 생각 되나.. 파일의 수정 시각은 클라이언트 쪽에서 위조가 가능 하다는 것으로 알고 있는 부분입니다.

마지막으로는 클라이언트 쪽에 버전 정보 역시 첫번째 방법과는 크게 다르지는 않을 것으로 보인다는 점.. 쉽게 가는 프로그래밍 이라면 물론 3번이 가장 속 편한 해결책이라 보입니다.

3 가지 방법 그 어느것도 장단점은 존재 한다고 봅니다.
과연 어떤 것을 이용하는 것이 좋을까요?
(이미 마음은 기울어졌지만...-_-;;)

아 그리고 3가지 방법 모두 다 객체스트림을 이용한 방법으로 구현할 계획입니다. ^^;

by 만성피로 | 2008/11/25 00:37 | 정리할 자료들 | 트랙백 | 덧글(2)

◀ 이전 페이지다음 페이지 ▶