android - Mensajes confiables de GPGS que no llegan a otro jugador
google-api google-play-services (0)
Estoy usando el servicio de juegos de google play para manejar el modo multijugador en mi juego, pero he llegado a un gran obstáculo. Utilizo el modo multijugador en tiempo real en el juego y envío mensajes confiables periódicamente entre los usuarios (1 mensaje por segundo en promedio, los archivos más grandes se dividen y pueden enviarse a 10 mensajes por segundo).
El problema que estoy enfrentando es que los mensajes no parecen estar llegando a su destino. Envío mensajes a los otros usuarios tan pronto como me conecto a la sala y veo que el otro usuario se ha unido. Algunas veces el mensaje alcanzará el objetivo y otras veces no. Si establezco un retraso de 10 segundos (solo para probar) después de haber ingresado a la sala, parece que los mensajes siempre pasan.
Comprobé los códigos de estado y obtuve STATUS_OK (0) de la devolución de llamada del mensaje y un entero positivo o cero como valor de retorno cuando envío un mensaje confiable. Entonces no recibo un error, pero los mensajes no se envían (ni se reciben).
¿Hay alguna condición que deba cumplirse antes de poder comenzar a enviar mensajes?
Actualizar:
De hecho, tengo un sistema que me permite enviar datos cuando se llama a uno de los siguientes: onRoomConnected, onP2PConnected y onPeersConnected. Tan pronto como se llama a uno de ellos, envío un gran mensaje (más de 6000+ bytes divididos en fragmentos de 1000) al nuevo usuario usando:
Games.RealTimeMultiplayer.sendReliableMessage(mContext.aHelper.getApiClient(), null,
serializedData.getBytes(), mRoomId, getParticipantId());
que fue tomado directamente del botón clicker example. Solía esperar hasta que se llamara onRoomConnected, pero aún así vi que algunos de mis mensajes no se estaban procesando.