Client/Serveur par dessus le Bluetooth ?

MaksmanMaksman Membre
avril 2009 modifié dans API UIKit #1
Bonjou à  tous,

J'ai à  développer un composant réseau, destiné à  être réutilisé dans des jeux multiplayer ou d'autres applications entre 2 iPhones. Je m'interrogeais sur la possibilité de construire une architecture client/serveur par dessus du Bluetooth entre par exemple 2 iPhones, et si cela était éventuellement possible avec des classes telles que celles de CFNetwork (CFSocket...) ou alors NSStream... ou alors en utilisant le service Bonjour ?

Meric beaucoup de votre aide

Réponses

  • LastikoLastiko Membre
    avril 2009 modifié #2
    bonjour a toi ,

    regarde wiTap je crois que ca fait a peu pres ce que tu veux

    ( enfin si je dis pas de connerie , et ca je paris pas dessus  :o )
  • AliGatorAliGator Membre, Modérateur
    03:12 modifié #4
    L'échange et appariement BT entre 2 iPhones n'est disponible qu'à  partir du SDK 3.0 (via le GameKit)... SDK 3 qui est en beta pour l'instant (et n'est accessibles qu'aux développeurs ayant souscrit au programme à  $99) et ne sortira qu'en juin à  priori.

    Attention au NDA, je suis pas sûr qu'on puisse en parler bcp tant qu'il n'est pas sorti officiellement ?
  • MaksmanMaksman Membre
    03:12 modifié #5
    Merci pour vos réponses.

    C'est vrai que j'avais trouvé des infos comme quoi l'appariement par BT semblait plus faisable avec le SDK 3.0.

    Sinon oui j'ai regardé les sources de WiTap, mais ça m'avait énormément complexe pour ce que ça faisait..

    Cependant, pour l'instant je n'ai accès qu'au SDK publique (2.2), voyez-vous une solution disponible avec ce SDK ? Pour mettre en relation 2 iPhones pour des jeux multiplayer, ou une application Chat par exemple..

    Merci beaucoup !
  • MaksmanMaksman Membre
    03:12 modifié #6
    En fait, j'aurais une seule question ; quelles sont d'après vous les différentes possibilités pour pouvoir mettre en communication 2 iPhones (pour des jeux multiplayer ou autre  application type Chat) ?

    Merci beaucoup
  • AliGatorAliGator Membre, Modérateur
    03:12 modifié #7
    Tout est expliqué dans le GameKit du SDK3, tu as de quoi découvrir les peers (les autre iPhones qui sont autour de toi, découverts automatiquement par la technologie Bonjour) et permettre à  l'utilisateur de choisir le peer (en l'occurrence l'iPhone) avec qui il veut être apparié. Ensuite tu as la possibilité d'échanger des données avec ce peer (classe GKSession) et de créer une session audio aussi entre 2 peers.

    Je ne peux pas t'en dire beaucoup plus étant donné le NDA sur ce SDK 3.0, je te laisse lire la doc si tu as un souscris à  l'iPhone Developer Program, et si tu n'y as pas accès bah va falloir que tu attendes sa sortie officielle.

    Une autre possibilité c'est de passer par le Wifi. C'est pas bien dur avec NSNetService de se faire découvrir puis mettre en relation 2 iPhones étant sur le même réseau Wifi (même réseau local) pour échanger des données. Regarde les exemples autour de NSNetService et Bonjour par exemple dans la doc Apple pour le discovery, et après il suffit de mettre les iPhones en relation comme tu mettrais n'importe quel ordi en relation sur le réseau (ouverture d'un socket qui écoute d'un côté, connexion au socket de l'autre côté, et échange de données via ce socket ensuite).
    Du coup cette solution utilise le réseau Wifi et non BT, mais tu n'as pas d'autre choix en attendant d'avoir accès au SDK 3.0.
  • MaksmanMaksman Membre
    avril 2009 modifié #8
    Super, merci !

    Ca m'éclaire drôlement les idées, je suis actuellement en stage et j'attends d'avoir accès au SDK 3.0, mais comme on me demande différentes solutions, je vais celle-ci avec le SDK actuellement disponible. J'ai déjà  fait beaucoup de programmation socket sous Unix, la nouveauté ici semble être la publication via NSNetService.

    Sinon pour la programmation avec les BSD Sockets sur l'iPhone, on doit inclure des bibliothèques spéciales ? Ou celles du C conviennent ?

    Encore merci !
  • h3630frh3630fr Membre
    03:12 modifié #9
    Salut,
    Moi j'ai des gros soucis pour implementer un petit client/serveur simple entre un iphone et un PC.

    Le pb n° 1 est qu'il faut du code des 2 cotés. Un du coté de l'Iphone (ObjC) et 1 du coté du PC (lequel ??)

    J'avais pense quelque chose de simple :
    L'iphone envoie une trame a un PC (sur appui bouton dans l'iphone) et celui ci renvoie a l'Iphone une trame de reponse quand il a fini de bosser (exemple si de l'iphone on envoi "toto", coté PC, on affiche "toto" dans un page HTML ou on stocke l'info dans une base SQlite par exemple)

    Quand le PC a terminé son traitement, il renvoie vers l'iphone un message que l'on affiche sur l'Iphone ("titi")

    quelqu'un pourrait m'aider (de maniere concrete). Eventuellement avec quelques bout de code qui marchent ?

    merci de votre retour car ce n'est pas tres evident sur l'Iphone.
Connectez-vous ou Inscrivez-vous pour répondre.