Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

Flash socket connectie problemen

Pagina: 1
Acties:

  • MrQcue
  • Registratie: Januari 2005
  • Laatst online: 02-11 16:25
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:

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 :)

  • MrQcue
  • Registratie: Januari 2005
  • Laatst online: 02-11 16:25
Nee, helaas. Ik heb het ook met sterretjes geprobeerd.

  • Tsjilp
  • Registratie: November 2002
  • Niet online

Tsjilp

RS[I]ds

Wanneer je direct vanuit flash exporteert heb je geen last van de security sandbox violations, en dus werkt het daar wel. Om je dataverkeer in de gaten te houden kan ik je service capture aanraden. Je kan een 15 dagen trial downloaden en het product kost iets van 35 dollar, maar is het meer dan waard. SC laat je al het verkeer tussen flash en de buitenwereld zien. (klinkt heel spammerig, ik weet het)

Raar... Is zo gek nog niet


  • MrQcue
  • Registratie: Januari 2005
  • Laatst online: 02-11 16:25
Ik ga ook nog wel even met servicecapture kijken wat er aan de hand is. Ik heb het wel eens gebruikt. Zelf werk ik meestal met wireshark maar servicecapture lijkt me iets eenvoudiger en doet wat het moet doen.

Maargoed, als ik naar m'n socketserver kijk dan zie ik dat de flash wel verbinding maakt en daarna meteen weer de verbinding verbreekt. Ik moet er nog even verder naar kijken maar ik heb het gevoel dat het met de policy file te maken heeft en dat de flash zelf gewoon de verbinding eruit knalt. Dan valt er weinig meer te sniffen. Ik denk dat ik de policyfile gewoon op orde moet hebben en dat kan alleen door de syntax en inhoud goed te schrijven.

Ik hoop dat iemand kan kijken of de huidige policy-file juist is die ik hierboven vermeld heb.

  • kaneter
  • Registratie: Juni 2007
  • Laatst online: 17-11 10:52
Zo te lezen, verwacht Flash niet dat de master policy file op poort 843 via HTTP wordt geserveerd. Deze verwacht gewoon plain text over TCP, port 843, zonder poespas. Je kunt Apache hier dus niet voor gebruiken.
In plaats daarvan kun je een simpele policyfileserver runnen zoals die in de link van pedorus.
De System.security.loadPolicyFile-call kun je achterwege laten.

[ Voor 1% gewijzigd door kaneter op 04-09-2008 12:46 . Reden: typo ]


  • MrQcue
  • Registratie: Januari 2005
  • Laatst online: 02-11 16:25
Inderdaad, het lijkt nu te werken! :) Ik had die documentatie even goed moet doorlezen. Lezen is ook een vak zullen we maar zeggen.

Bedankt voor de verhelderende informatie en de link. Deze kan dicht
Pagina: 1