고객님의 문의에 답변하는 직원은 고객 여러분의 가족 중 한 사람일 수 있습니다.
고객의 언어폭력(비하, 조롱, 욕설, 협박, 성희롱 등)으로부터 직원을 보호하기 위해
관련 법에 따라 수사기관에 필요한 조치를 요구할 수 있으며, 형법에 의해 처벌 대상이 될 수 있습니다.
커뮤니티 이용 정책에 위배되는 게시물을 작성할 경우, 별도 안내 없이 게시물 삭제 또는 커뮤니티 이용이 제한될 수 있습니다.
문의 응대 : 평일 오전 10시 ~ 오후 6시
문의를 남기실 경우 다음 항목을 작성해 주세요.
정보가 부족하거나 응대시간 외 문의하는 경우 확인 및 답변이 지연될 수 있습니다.
- 뒤끝 SDK 버전 :
- 프로젝트명 :
- 스테이터스 코드 :
- 에러 코드 :
- 에러 메시지 :
안녕하세요.
하나의 계정으로 다수의 디바이스에 접속했을 때,
데이터가 꼬여버리는 이슈가 발생하여 문의 드립니다.
환경
- 지속적으로 재화가 변동되어 잦은 저장 주기를 갖는 방치형 장르의 게임이라 서버 저장은 비용 부담이 있어, 로컬 저장 기능을 병행하여 활용하고 있음.
- 트랜젝션 사용으로 변동있는 데이터만 저장함.
- 아무 행동을 취하지 않아도 저장 주기가 있으나 잦은 로컬 저장 & 일정 시간 간격으로 서버 저장
문제
1. A 기기 접속 후 설정 메뉴의 저장 클릭 (모든 데이터 서버 저장)
2. A 기기 접속 상태로 방치
- 지속적인 Item 테이블 로컬 저장 (방치 시 획득하는 재화) (서버 통신이 주기가 길어서, 토큰 만료 체크 안됨)
3. B 기기 접속 후 재화 사용해서 아이템 구매 (Item, Inventory 테이블 서버 저장)
4. B 기기 종료
5. 조금 대기 후 A 기기 종료
6. A 기기 재접속 시 최신 데이터인 Item 테이블(로컬) & Inventory 테이블(서버) 데이터 사용
위 스탭으로 진행 시
Item 테이블은 A기기가 최신이 되고(로컬)
Inventory 테이블은 B기기가 최신이 됩니다.(서버)
그래서 결과적으로 재화 소모 없이 아이템만 획득 가능한 이슈가 발생합니다.
해결 방법
로컬 저장 전, 서버 통신 후 토큰이 만료되었는지 체크하는 방안이 가장 안전하다고 생각됩니다. (기존 기기의 테이블이 최신화 되는걸 방지)
위 이슈로 인해 가장 저렴한 서버 통신에 대해 알고자 합니다.
지금 생각 중인 방법은, 서버 상태 체크 함수 호출하는건데, (5천만 호출 당 499,000원) 해당 함수 호출하는거보다 좋은 방법이 있을지 확인 가능할까요?
그리고 해당 함수로 토큰 만료도 확인 가능한지 궁굼합니다.
다른 해결 방안이 있다면 알려주신다면 정말 감사하겠습니다.