XMPP를 통해 턴베이스 게임을 개발하려고합니다. (멀티 플랫폼 게임에서 찾은 유일한 해결책). 문제없이 메시지를 보낼 수 있습니다. 다른 사용자가 온라인 상태가 아니면 서버 (OpenFire)가 나중에 제공하기 위해 저장합니다.기기에서 XMPP를 통한 메시지 손실 문제가 발생했습니다.
기기가 네트워크를 변경 (3g에서 WiFi로 변경, 3g IP로 변경)하거나 기기가 네트워크를 잃어 버렸을 때 (3g, wifi 또는 연결 끊김을 해제) 문제가 발생합니다. 서버는 장치가 온라인 상태이며 메시지를 보냈지 만 그 메시지는 절대 도착하지 않으므로 패킷이 손실됩니다.
하나의 해결책을 알고 있습니다. 내 게임 프로토콜을 통해 ACK를 구현하지만, 나는이 아이디어를별로 좋아하지 않는다. 다른 제안이 있으십니까? 나는 이것이 서버 문제라고 생각한다. 당신은 다른 서버 마녀가 TCP 또는 ACK를 구현한다는 것을 알고 있습니까?
감사합니다.
편집 : 할 일 : 서버에 장치를 연결하십시오. 나는 장치에 대한 3G 및 WiFi 연결을 끊습니다. 안드로이드와 서버는 여전히 연결이 살아 있다고 생각합니다.
http://issues.igniterealtime.org/browse/SMACK-331
PD는 : 그들은 API를 멀티 플레이어 나는 오픈 페인트를 요청하지만, 그들은 ... TCP/IP는 신뢰할 수 없습니다 일부 조건에서
오. 나는 참여했다. 이걸 개발해도 될까요? – user2160008
안녕하세요 LeiNaD_87 솔루션을 찾으셨습니까? 고맙습니다. –
아니요,하지 않았습니다. 나는 또한이 문제를 연구하는 것을 멈췄다. –