Цитата:
ВОт кстати код кросдоменника
|
Это файл политик все-таки.
У меня работает все по дефолту, без всяких плясок с бубнами. Есть виртуальный сервер по адресу 100.100.100.100 (условно):
1. На 843 порту запущен сервер, который отдает файл политик (пока вообще безо всяких ограничений):
Код:
var net = require('net');
var port = 843;
console.log("SecurityPolicy server started on port " + port);
var server = net.createServer(function(stream) {
stream.setEncoding('utf8');
stream.addListener('data', function(mess) {
var policy = '<?xml version="1.0" ?> <!DOCTYPE cross-domain-policy SYSTEM '
+'"http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">'
+'<cross-domain-policy> <allow-access-from domain="*" '
+'to-ports="*" /> </cross-domain-policy>\0';
stream.write(policy);
console.log('SecurityPolicy sended to user, ip: '+stream.remoteAddress);
});
});
server.listen(port);
2. В корне сервера (каталог www) лежит кроссдоменник (тоже пока безо всяких настроек):
Код:
<cross-domain-policy>
<allow-access-from domain="*" to-ports="*"/>
</cross-domain-policy>
3. Непосредственно сокет-сервер (node.js) висит на порту 8080.
4. В каталоге на сервере лежит html-файл с флешкой, в которой подключение к сокет-серверу реализовано так:
Код AS3:
socket = new FlashSocket("100.100.100.100:8080");
socket.addEventListener(FlashSocketEvent.CONNECT, onConnect);
Все заработало сразу после сборки.