Étape 4: Le PHP socket
Mais dès que j’ai commencé à coder j’ai rencontré un problème. La chose est que MAMP utilise un numéro de port spécial sur votre ordinateur local au lieu du port 80 comme d’habitude pour les serveurs http. Port par défaut de MAMP est 8888 (eg. Funkyzeitmac.local:8888) et le port de la prise sera 8890 donc lorsque le Flash trys pour vous connecter à la prise, il ressemble toujours à une politique de crossdomain avant toute autre chose. C’est pourquoi il n’a pas fonctionné. Donc j’ai fait une stratégie interdomaines et essayé de le mettre tout autour le serveur mais j’ai pas eu de chance. Enfin la recherche sur le web j’ai trouvé ce qui ressemblait à la réponse (et bien sûr j’ai n’a pas trouver sur les pages de support d’adobe). Le truc, c’est lorsque le flash se connecte à la prise de courant, le code php doit envoyer la politique crosdomain avant toute autre chose. Mettez donc votre stratégie interdomaines, copiez son code et collez-le dans le code PHP. Après que flash reçoit cette stratégie interdomaines il fonctionne comme un charme.
Vous pouvez télécharger le fichier à la fin de cette étape.
Comme vous pouvez le voir, j’ai utilisé XML comme syntaxe pour les messages qui sont envoyés à clignoter. Cela rend plus facile à analyser les données entrantes dans le client flash et AIR app. Il y a quelques messages de serveur qui sont envoyés lorsqu’un nouveau socket est connecté, quand une socket se déconnecte, se comptent les prises et douilles de la file d’attente pour tous les clients. Comme cela va être un jeu en ligne, nous voulons avoir une minuterie dans le flash du client qui finira c’est retourner après une minute et demie et aller jusqu’au bout de la file d’attente. C’est ce que la file d’attente pour. Enregistrez le fichier dans le dossier MAMP où résidera votre projet. Pour rejoindre le dossier racine du serveur MAMP aller à /Applications/MAMP/htdocs, créez un nouveau dossier et appelez-le Candygrabber et enregistrez votre fichier ici. Maintenant, ouvrez un nouveau Terminal window(/Applications/Utilities/Terminal) et type
/ Applications/MAMP/bin/php5/bin/php /Applications/MAMP/htdocs/Candygrabber/socketShell.php
et puis appuyez sur retour. Cela indique à php d’exécuter le fichier comme un script serveur. Si tout s’est bien passé vous devriez voir quelque chose comme ceci dans la fenêtre terminal :
1 prise lié à 192.168.1.119:8890
1 à l’écoute...
Ne fermez pas la fenêtre du terminal parce qu’il va mettre fin à la session et fermer le socket de php.
Maintenant nous allons aller de l’avant à la partie flash.