L'envoi de données à partir de flash pour node.js serveur avec la prise.io

J'ai une simple prise.io serveur basé en node.js qui est à l'écoute pour une prise dans le port 81 (par exemple)
Je n'ai aucun problème de connexion et la transmission des données entre les clients écrite en Javascript
Mais après beaucoup d'essais, je ne peux pas obtenir mon Flash app pour vous connecter au serveur et de transmettre des données à
(J'ai trouvé quelques exemples dans le web, mais ils sont tous à base de flex et de l'utilisation des classes qui ne sont pas parties de la base AS3 bibliothèques)

lorsque j'essaie de connecter à la prise à l'aide d'un XMLSocket - je obtenir Sandbox de Sécurité de l'Erreur de Violation d' - je sais que j'ai besoin de charger le fichier de stratégie (ce qui suppose d'être disponibles à l'aide de socket.io)
mais je n'arrive pas à le faire

c'est mon flash code:

Security.loadPolicyFile("http://127.0.0.1:81/crossdomain.xml");
socket = new XMLSocket("127.0.0.1", 81);
socket.addEventListener(Event.CONNECT, onConnect);  
socket.addEventListener(IOErrorEvent.IO_ERROR, onError);  
socket.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityEvent);
socket.addEventListener(DataEvent.DATA, onData);

et le côté serveur de code est

var app = require('http').createServer(function (req, res) {...})
   , io = require('socket.io').listen(app, { log: true })
   , fs = require('fs')

app.listen(81);

io.sockets.on('connection', function (socket) {
    console.log("connection "+socket.id);
    socket.on("message",function(data){
        console.log("data: "+data);
    });
    socket.on("data",function(d){
         console.log('data from flash: ',d);
    });
    socket.on('disconnect', function (socket) {
        console.log("disconnect");
    });
});

et mon crossdomain.xml est:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <site-control permitted-cross-domain-policies="master-only"/>
    <allow-access-from domain="*" to-ports="*"/>
</cross-domain-policy>

Je vous remercie beaucoup pour votre temps!

Avez-vous une politique de fichiers desservies à partir de votre node.js le serveur? En général, vous avez un fichier nommé "crossdomain.xml" à la racine de votre site.
J'ai, mais encore le flash de lancer une erreur: Request for resource at xmlsocket://127.0.0.1:81 by requestor from XXXXX.swf is denied due to lack of policy file permissions
Votre loadPolicyFile() appel n'est pas dirigée vers un fichier de stratégie. Essayez Security.loadPolicyFile("http://127.0.0.1:81/crossdomain.xml").
essayé - c'est de charger le fichier de stratégie, mais j'ai toujours l'erreur dans mon commentaire précédent (avant j'ai ajouté Security.loadPolicyFile(...) j'ai eu une autre erreur qui signifie que le flash peut lire le fichier de stratégie, mais la politique ne permet pas assez de
changé pour as3 code pour la mise à jour + ajout de la crossdomain.xml contenu. peut-être que le problème est là

OriginalL'auteur Yaron U. | 2013-01-16