Iphone – Why is Gamekit designed this way? Even in Client mode all notifications are received

bluetoothgamekitiphoneiphone-sdk-3.0

We are not using GKPeerPicker control. We are implementing custom UI. We have done some traditional client-server apps in different languages/platforms.

In Gamekit, I have one in server mode and rest of them are in client mode. I am not using Peer mode. Yet, when ever some new client connects all the already connected clients are implicitly notified of the connection and disconnection of any client. Also when I send data from client using 'sendToAll' it reaches all the clients that are connected to the server.

I mean now I have to maintain the server peerid and rest of the peerids explicitly. Though its a small task in programming, I am just curious about its design. In a traditional client server socket programming, you don't have all this. For example scenarios, when a 2 clients wants to capture a slot, the server processes the first request, fills the slot and rejects the 2nd request.

I don't see much of advantage due to this design. Please point my mistakes and let me know why it is designed this way.

Best Answer

It is just the way peer to peer connections work. Its designed this way because in traditional systems, if the server fails the communication stops. But here each peer is equally weighted and they can join/quit anytime and still the communication between the rest will continue to happen.

Related Topic