Показать сообщение отдельно
Старый 02.05.2013, 22:21
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 18  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Цитата:
ВОт кстати код кросдоменника
Это файл политик все-таки.


У меня работает все по дефолту, без всяких плясок с бубнами. Есть виртуальный сервер по адресу 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);
Все заработало сразу после сборки.