Bonjour,
j'ai un petit problème:
j'ai un serveur C++ qui tourne en local sur le port 7171.
Je voudrais connecter un client swf codé en actionscript pour échanger des données.
Après quelques heures de prise de tête, voilà le topo:
Ce qui marche:
Ma fenêtre flash se connecte au serveur et lui envoie une donnée via un XMLSocket.
Mon serveur C++ reconnaît mon client et récupère la donnée envoyée par le client et l'affiche.
Ce qui ne marche pas:
Mon serveur C++ envoie une donnée sur le socket et ma fenêtre flash ne la voit pas et me renvoie l'erreur:
Code :
Error #2044: securityError non pris en charge : text=Error #2048: Violation de la sécurité Sandbox : file:///C|/Documents%20and%20Settings/Administrateur/Mes%20documents/flash/Untitled%2D1.swf ne peut pas charger de données à partir de localhost:7171.
at Untitled_fla::MainTimeline/frame1()
J'ai testé avec un client c++ et ça marche, donc ce n'est pas mon serveur qui est en cause.
Voici mon code AS:
Code ActionScript :
import flash.net.Socket;
var socket:XMLSocket= new XMLSocket();
socket.addEventListener(DataEvent.DATA, reception);
socket.addEventListener(IOErrorEvent.IO_ERROR, setErr)
socket.addEventListener(Event.CONNECT, getConn)
socket.addEventListener(Event.CLOSE, closeHandler);
socket.connect("localhost", 7171);
socket.send("test");
function reception(event:DataEvent ):void{ trace("serveur");}
function setErr(Event):void{ trace("erreur");}
function getConn(Event):void{ trace("connexion");}
function closeHandler(Event):void{ trace("ferme");}
Je pense qu'il s'agit de mettre les droits d'accès au domaine localhost, mais je ne sais pas comment faire.
Merci d'avance à ceux qui se pencheront sur mon problème.
Julien