Game Center sends an immediate DISCONNECT after all CONNECTS provided

I am testing my peer-to-peer game application by starting a 4-player game (3 real iPhones + 1 simulator iPhone) and I am experiencing an issue where Game Center sends a CONNECT for each player in the match, via the "didChange state" function (as expected), but then immediately sends a DISCONNECT for one of the players. It seems the DISCONNECT is only received by one of the players in the game. In addition, the player who Game Center disconnected, is still available in the game with the remaining players. I would have assumed that if Game Center is going to send a disconnect to one player then it would send the same disconnect to all other players, but this is not the case.


Player 1 = Xcode simulator player


(didChange state) Player 2 CONNECT

(didChange state) Player 3 CONNECT

(didChange state) Player 4 CONNECT

(didChange state) Player 2 DISCONNECT


Player 1 no longer has a network connection to Player 2

Player 1, Player 3 and Player 4 maintain a network connection with each other

Player 2, Player 3 and Player 4 maintain a network connection with each other


This occurs about 1 out of every 13-15 times I attempt to create a 4-player game.


Is there anything which I might be doing that might be causing Game Center to behave this way or is Game Center known to act this way sometimes?

Replies

This issue is even worse as I see Game Center sending a DISCONNECT for one player during gameplay. The DISCONNECT seems to come in at any time. Most of the time, the DISCONNECT is only received by one of the players. The player who seemingly disconnected remains connected to other players though and can still send data back/forth between the other players.


I am assuming Game Center sends a DISCONNECT when the network connection goes down, but ...


Why does the Game Center network connection go down so frequently? My game takes about 20-30 minutes to play completely and I experience a Game Center DISCONNECT during every otehr game I play.


Why does Game Center not inform any of the all players about the DISCONNECT which has occurred?


Perhaps I should create an Apple Issue/Ticket on this issue.