Stap 4: De PHP socket
Maar zodra ik begonnen met codering ik raakte een probleem. Het ding is dat MAMP maakt gebruik van een speciale poortnummer op uw lokale computer in plaats van poort 80 zoals gewoonlijk voor http-servers. MAMP de standaardpoort is 8888 (bijv. Funkyzeitmac.local:8888) en de poort van de socket zullen 8890 dus wanneer Flash trys om te verbinden met de aansluiting het altijd een crossdomain beleid voordat er iets anders zoekt. Dit is de reden waarom het niet werkte. Dus ik maakte een crossdomain beleid en probeerde om hem rondom de server maar ik had geen geluk. Tot slot zoeken op het web vond ik wat leek het antwoord (en natuurlijk ik niet vinden op de adobe support-pagina's). Het ding is, wanneer flash verbinding met de aansluiting maakt, het crosdomain beleid voordat er iets anders op de php-code moet worden verzonden. Dus zet uw crossdomain beleid maken, kopiëren van de code en plak deze in de PHP-code. Nadat de flitser ontvangt dit crossdomain beleid die het werkt als een charme.
U kunt het downloaden van het bestand aan het einde van deze stap.
Zoals je dat ik XML achtige syntaxis gebruikt voor de berichten die worden verzonden zien kunt naar flash. Dit maakt het gemakkelijker om te ontleden de binnenkomende gegevens in de flash-client en de AIR app. Er zijn een paar serverberichten die worden verzonden wanneer er een nieuwe socket is verbonden, wanneer een socket verbreekt, krijgt de sockets tellen, en de wachtrij voor alle client-aansluitingen. Zoals dit is gonna be een online spel dat wij willen een timer in de client-flitser die zal eindigen na een minuut en de helft aan de beurt en ga naar het einde van de wachtrij. Dat is wat is de wachtrij voor. Sla het bestand in de map MAMP waarin uw project wordt opgeslagen. Om naar de hoofdmap van de server MAMP gaan naar /Applications/MAMP/htdocs, maak een nieuwe map en noem het Candygrabber en sla het bestand hier. Nu opent een nieuw Terminal window(/Applications/Utilities/Terminal) en typt u
/ Applications/MAMP/bin/php5/bin/php /Applications/MAMP/htdocs/Candygrabber/socketShell.php
en druk vervolgens op return. Dit vertelt php voor stormloop naar de vijl zoals een serverscript. Als alles goed is gegaan zie je zoiets als dit in het terminal-venster:
1 socket gebonden aan 192.168.1.119:8890
1 luistert...
Sluit het terminalvenster niet, want het zal de sessie beëindigen en de php socket sluit.
Nu laten we vooruit naar het flash deel.