Bienvenue sur le forum du blog iPhon.fr
Pensez à poster dans la bonne rubrique, respecter les propos des autres internautes, ne pas utiliser le langage SMS, et enfin, à utiliser la fonction 'Recherche' !
Et... Gardez le sens de l'humour, de la convivialité et de la décontraction. On n'est pas là pour se prendre la tête ! ;-)
Bonjour à tous
Je suis en train de programmer un jeu multijoueur, (idéalement 4 joueurs), pour cela j'utilise l'objet GK session afin dimplémenter une architecture client/serveur via blueTooth.
Pour l'iPhone qui hébergera la partie le code j'ai le code suivant:
//Etape 1: on initialise la session en mode serveur
gameSession = [[GKSession alloc] initWithSessionID:crazyjSessionID displayName:nil sessionMode:GKSessionModeServer];
//Etape 2: on attribue un delegate
gameSession.delegate = self;
//Etape 3: on rend la connexion dispo
gameSession.available = YES;
//Etape 4: on cherche les autres peers dispos dans un delai de 30 secs
NSArray* peers= [currentSession peersWithConnectionState:GKPeerStateAvailable];
gameSession.disconnectTimeout = 10;
et pour les clients:
//Etape 1: on initialise la session en mode serveur
gameSession = [[GKSession alloc] initWithSessionID:crazyjSessionID displayName:nil sessionMode:GKSessionModeClient];
//Etape 2: on attribue un delegate
gameSession.delegate = self;
//Etape 3: on rend la connexion dispo
gameSession.available = YES;
//Etape 4: on cherche les autres peers dispos dans un delai de 30 secs
NSArray* peers= [gameSession peersWithConnectionState:GKPeerStateAvailable];
gameSession.disconnectTimeout = 30;
Le problème est que ni le serveur ni le client arrive à récupérer le peerID de l'autre iphone. Je ne peu donc pas les connecter.
J'ai essayé de mettre un sleep dans le serveur histoire qu'il "attende" un client, mais sans résultats.
D'avance merci!
Hors ligne
Tu as testé/regardé le "GKTank" dans les code sources d'Apple ?
Hors ligne
L'iPhone sur iPhon.fr, le blog de l'iPhone - blog iPad
iPhon.fr et son forum ne sont pas liés à Apple, Orange, SFR ou autres et les marques citées sont la propriété de leurs détenteurs respectifs.