2010-12-01 16 views
5

la gamekit sur la documentation wifi parle de wifi local et c'est construit sur bonjour. Est-ce que cela veut dire qu'il ne fonctionne pas je suppose que sur Internet, la recherche d'utilisateurs/joueurs dans un sous-réseau différent, différent fournisseur d'accès Internet ... etcgamekit sur internet

Si je dois connecter aux joueurs/utilisateurs sur Internet en général je dois configurer un serveur, non?

Répondre

5

OUI, le kit de jeu peut être utilisé pour connecter des homologues sur Internet. MAIS dans ce cas votre application doit répondre à peerPickerController: didSelectConnectionType: et gérer tout votre protocole de prise de contact privé pour découvrir les homologues et établir la communication. Un service Web sur votre serveur est également requis (sauf si les utilisateurs saisissent leur adresse IP).

Bonne chance Sam!


Références:

Apple iOS Reference Library, Game Kit Programming Guide.

Cours en ligne de l'Université de Sanford, développement iPhone, Lecture 17: Bonjour, NSStream, GameKit (voir 48 min 28 s).

+0

C'est dommage, j'espérais que gameKit ferait le gros du travail. – sam

+1

J'ai regardé la vidéo de Stanford et lu les documents. Ce qui n'est pas clair pour moi, si vous implémentez le service Web pour jumeler des utilisateurs, pouvez-vous toujours utiliser les méthodes sendData et receiveData de GKSession pour communiquer directement entre homologues connectés sur Internet, ou devez-vous également implémenter le transfert de données? –

+0

@ChristopherPickslay avez-vous compris? Je mets en place un service, qui permet d'échanger des ID homologues, mais j'aimerais utiliser GKSession pour communiquer. –

1

il y a deux choses:

  • vous pouvez utiliser GameKit jouer avec des appareils locaux en utilisant GKsessions
  • vous pouvez utiliser GameKit pour jouer sur Internet en utilisant GKmatch

les deux méthodes sont très similaire, mais ce n'est pas le cas de simplement changer un drapeau - vous devrez écrire le code pour chacun. Si vous êtes intelligent, vous pouvez créer une petite interface qui peut utiliser les deux, en fonction d'un drapeau. Je l'ai implémenté et ça marche bien

+0

Comment est la réponse? Est-ce que vous essayez d'aider? – fyasar