Показать сообщение отдельно
Старый 01.05.2013, 20:58
Azo вне форума Посмотреть профиль Отправить личное сообщение для Azo Найти все сообщения от Azo
  № 1  
Ответить с цитированием
Azo
 
Аватар для Azo

Регистрация: Nov 2004
Адрес: Архангельская область
Сообщений: 492
Отправить сообщение для Azo с помощью ICQ Отправить сообщение для Azo с помощью AIM Отправить сообщение для Azo с помощью Yahoo
По умолчанию WebSocket + NodeJs + SocketIO . Ошибка безопасности

Может кто то знать про такую проблему... Не удается подключится к сокету на своем сервере...
Спасибо всем откликнувшимся!


Сначала покажу ошибку
Код:
Error #2044: Unhandled securityError:. text=Error #2048: Security sandbox violation: https://pp.vk.me/c307509/u152812740/2e0c7dbd32f6c0.zip cannot load data from http://88.198.13.155:3003/socket.io/1/?time=1367423137699.
	at com.pnwrain.flashsocket::FlashSocket()
	at com.netease.pomelo::Client/init()
	at ru.mamoyan.azo.server::Socket()
	at ru.mamoyan.azo::AZO$/connect()
	at Main/init()
	at net.flashpunk::Engine/onStage()
	at flash.display::DisplayObjectContainer/addChild()
	at Preloader/startup()
	at Preloader/checkFrame()

На клиентской стороне библиотека https://github.com/stokegames/pomelo...melo/Client.as основанная на WebSocket SocketIO

На сервере у себя поставил nodejs и запустил скрипты с слушателями:
на порту 3000 - основной серверный код
на порту 843 - код который возвращает crossdomain


Скрипт Crossdomain
Код AS3:
var server = require('net').createServer(function(stream){
	console.log('connected'); // <-- log —---------
	stream.on('error', function (extension) {
		console.log('policy.socket.error');
	});
	stream.on('data',function(){
 
		stream.write('<?xml version="1.0"?>');
		stream.write('<cross-domain-policy>');
		stream.write('<allow-access-from domain="*" to-ports="*" />');
		stream.write('<allow-http-request-headers-from domain="*"/>'); 
		stream.write('<allow-access-from domain="*" to-ports="843"/>');
		stream.write('<allow-access-from domain="*" to-ports="3000"/>'); 
		stream.write('</cross-domain-policy>\0');
 
		stream.end();
	});
});
server.listen(843, '88.198.13.155');


Код клиента на AS3
Код AS3:
 
Security.loadPolicyFile("http://88.198.13.155:843");
Security.loadPolicyFile("xmlsocket://88.198.13.155:843");
 
client = new Client();
client.init('88.198.13.155', 3000,null, function():void{
	client.addEventListener(ClientEvent.IO_ERROR,onError);
	client.addEventListener(ClientEvent.SECURITY_ERROR,onError);
	client.addEventListener(ClientEvent.MESSAGE,onMessage);
		dispatchEvent(new Event(Event.CONNECT));
 
		trace("Успех!");// -< Вот этого не происходит!! Так как не считывает crossdomain
 
 
});
__________________
-------------------------------
FLASH FLASH FLASH FLASH FLASH


Последний раз редактировалось Azo; 01.05.2013 в 21:48.