Hoi,
ik ben met een flash (AS 2.0) chat script bezig dat een socket-verbinding opent naar een php socket-server. Het werkt allemaal goed als ik de flash direct exporteer vanuit flash.
Het werkt alleen niet online. Nu heb ik gelezen dat je vanaf flash player 9 een policy-file moet hebben om het te laten werken. Hierin kun je opgeven vanaf welke domeinen er een verbinding mag worden opgezet.
Nu is het, als ik het goed heb, noodzakelijk om in de flash actionscript aan te geven waar dit policy-bestand staat. Ik doe dit nu zo:
De policy file wordt standaard via port 843 opgehaald heb ik gelezen in een artikel op adobe.com Daarvoor ik heb ik tegen apache gezegd dat die ook moet luisteren op port 843. Dit werkt ook.
De inhoud van socketpolicy.xml heb ik een aantal keer veranderd maar ziet er nu zo uit:
Ik zie nu in de socketserver dat deze 3 na seconden verbinding maakt en direct daarna de verbinding verbreekt.
Even ter info; het flash script draait op hetzelfde domein als de socketpolicy script en waar ook de socket server op draait. Ik heb even de domeinnaam in mijn hostfile staan. Ik ga nog wel even een subdomein richten naar de betreffende webserver.
Heeft iemand een idee waarom het script niet werkt als ik de swf los opstart of een webserver staat maar wel als ik het direct exporteer uit flash? Ik vind lastig om te debuggen als flash-noob
ik ben met een flash (AS 2.0) chat script bezig dat een socket-verbinding opent naar een php socket-server. Het werkt allemaal goed als ik de flash direct exporteer vanuit flash.
Het werkt alleen niet online. Nu heb ik gelezen dat je vanaf flash player 9 een policy-file moet hebben om het te laten werken. Hierin kun je opgeven vanaf welke domeinen er een verbinding mag worden opgezet.
Nu is het, als ik het goed heb, noodzakelijk om in de flash actionscript aan te geven waar dit policy-bestand staat. Ik doe dit nu zo:
code:
1
| System.security.loadPolicyFile("http://chat.domein.nl/socketpolicy.xml"); |
De policy file wordt standaard via port 843 opgehaald heb ik gelezen in een artikel op adobe.com Daarvoor ik heb ik tegen apache gezegd dat die ook moet luisteren op port 843. Dit werkt ook.
De inhoud van socketpolicy.xml heb ik een aantal keer veranderd maar ziet er nu zo uit:
code:
1
2
3
4
5
| <?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="chat.domein.nl" to-ports="9999" />
<site-control permitted-cross-domain-policies="all" />
</cross-domain-policy> |
Ik zie nu in de socketserver dat deze 3 na seconden verbinding maakt en direct daarna de verbinding verbreekt.
Even ter info; het flash script draait op hetzelfde domein als de socketpolicy script en waar ook de socket server op draait. Ik heb even de domeinnaam in mijn hostfile staan. Ik ga nog wel even een subdomein richten naar de betreffende webserver.
Heeft iemand een idee waarom het script niet werkt als ik de swf los opstart of een webserver staat maar wel als ik het direct exporteer uit flash? Ik vind lastig om te debuggen als flash-noob