블루투스 연결 (GameKit, 특히 iOS6 호환성)을 사용하는 서버 클라이언트 게임에서 하나 이상의 클라이언트 장치 (iPhone/iTouch)가 서버 장치 (iPad)에 타임 스탬프를 보냅니다. 각 클라이언트의 버튼을 탭하면다른 시간 간격으로 이어지는 NSDate 동시 생성
[[NSDate date] timeIntervalSince1970]
을 ...하고 서버에 NSData
같은 페이로드 값을 전송하며, 즉 각각의 클라이언트 부른다.
클라이언트가 하나만 연결된 경우 생성되어 서버로 전송되는 시간은 실제 탭의 시간과 동일합니다. 2 명 이상의 클라이언트가 접속 된 경우, 모든 클라이언트가 정확하게 동일한 시간에 탭핑 되더라도 생성 된 시간은 현저하게 달라진다. 동시에 탭
클라이언트 1 및 2 : 1 타임 스탬프 = 1396974546.558433 (1970 보낸 시간 간격)
- 클라이언트 2 타임 스탬프 = 1396974551.274747 (1970 보낸 시간 간격)
- 클라이언트
즉 클라이언트 2는 클라이언트 1로부터 5 초 밖에 걸리지 않습니다. 실제로 동시 탭핑이 어렵 기 때문에 몇 밀리 초의 차이를 수용 할 수 있지만 여러 초는 용인 할 수 없습니다. 추가 클라이언트를 추가하면 시간에 다소 차이가 있지만 일반적으로 몇 초가 걸립니다. 즉, 뭔가가 운송 또는에서 일어나고 아니에요 사람들은 (클라이언트에 의해 생성되는 것과 동일한 타임 스탬프가 서버에서 수신되고 있습니다
는, 타임 스탬프가 클라이언트 다르게 생성되고 더욱 신비로운 일을 만들려면 영수증).나는이 문제의 원인을 놓치고 있습니다. 어떤 아이디어?
두 클라이언트의 홈 화면으로 이동하여 시계 앱 아이콘을 봅니다. 두 번째 손이 동기화되어 있거나 5 초가지나 갔습니까? – rmaddy