Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 02.05.2013, 18:26
Azo вне форума Посмотреть профиль Отправить личное сообщение для Azo Найти все сообщения от Azo
  № 11  
Ответить с цитированием
Azo
 
Аватар для Azo

Регистрация: Nov 2004
Адрес: Архангельская область
Сообщений: 492
Отправить сообщение для Azo с помощью ICQ Отправить сообщение для Azo с помощью AIM Отправить сообщение для Azo с помощью Yahoo
Simplifier, Да, там написано что порт по умолчанию 10843,
но Клиент AS3 об этом же не знает. в Сервере ничего специально не настраивал. Все по умолчанию стоит.
Факт в том что с моего компа запускается нормально, а на сайтах нет
__________________
-------------------------------
FLASH FLASH FLASH FLASH FLASH

Старый 02.05.2013, 19:37
Simplifier вне форума Посмотреть профиль Отправить личное сообщение для Simplifier Найти все сообщения от Simplifier
  № 12  
Ответить с цитированием
Simplifier

Регистрация: Jun 2011
Сообщений: 60
Цитата:
Да, там написано что порт по умолчанию 10843,
но Клиент AS3 об этом же не знает
Ну так поменяй его на стандартный для флеша 843. Ну или во флеше запрашивай кроссдомен с этого 10843. Или в чем затык-то?

Старый 02.05.2013, 19:41
Azo вне форума Посмотреть профиль Отправить личное сообщение для Azo Найти все сообщения от Azo
  № 13  
Ответить с цитированием
Azo
 
Аватар для Azo

Регистрация: Nov 2004
Адрес: Архангельская область
Сообщений: 492
Отправить сообщение для Azo с помощью ICQ Отправить сообщение для Azo с помощью AIM Отправить сообщение для Azo с помощью Yahoo
Что только я не пробовал... ((
Сейчас еще раз попробую все настройки вернуть на default и как ты посоветовал запрашиваnm кроссдомен с этого 10843

Добавлено через 22 минуты
Не вышло....
Никто не знает, как сделать чтобы по адресу http://88.198.13.155:3000/crossdomain.xml ?
__________________
-------------------------------
FLASH FLASH FLASH FLASH FLASH

Старый 02.05.2013, 20:37
Simplifier вне форума Посмотреть профиль Отправить личное сообщение для Simplifier Найти все сообщения от Simplifier
  № 14  
Ответить с цитированием
Simplifier

Регистрация: Jun 2011
Сообщений: 60
А, ну да, по диагонали прочитал и фигню сморозил =)

Добавлено через 6 минут
Цитата:
Код 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
 
 
});
Первые 2 строчки бесполезны. Класс Client сам же пытается кроссдомен запросить:
Код AS3:
this.policyUrl = policyUrl || ("xmlsocket://" + host + ":843");

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

Регистрация: Nov 2004
Адрес: Архангельская область
Сообщений: 492
Отправить сообщение для Azo с помощью ICQ Отправить сообщение для Azo с помощью AIM Отправить сообщение для Azo с помощью Yahoo
Да, видел тоже в клиенте этот код... однако не работает
__________________
-------------------------------
FLASH FLASH FLASH FLASH FLASH

Старый 02.05.2013, 20:54
Simplifier вне форума Посмотреть профиль Отправить личное сообщение для Simplifier Найти все сообщения от Simplifier
  № 16  
Ответить с цитированием
Simplifier

Регистрация: Jun 2011
Сообщений: 60
Может все ж какой-то косяк кроссдоменом, который формируешь? Там же есть ссылка на код для него: https://github.com/stokegames/pomelo.../lib/server.js . Хотя, раз с XMLSocket работало, то хз

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

Регистрация: Nov 2004
Адрес: Архангельская область
Сообщений: 492
Отправить сообщение для Azo с помощью ICQ Отправить сообщение для Azo с помощью AIM Отправить сообщение для Azo с помощью Yahoo
ВОт кстати код кросдоменника

Код AS1/AS2:
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"?>\n');
stream.write('<!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd">\n');
stream.write('<!-- Policy file for xmlsocket://88.198.13.155 -->\n');
stream.write('<cross-domain-policy>\n');
stream.write('<!-- This is a master socket policy file -->\n');
stream.write('<site-control permitted-cross-domain-policies="all"/>\n');
stream.write('<!-- No other socket policies on the host will be permitted -->\n');
stream.write('<site-control permitted-cross-domain-policies="master-only"/>\n');
stream.write('<!-- Instead of setting to-ports="*", administrators can use ranges and commas -->\n');
stream.write('<!-- This will allow access to ports 123, 456, 457 and 458 -->\n');
stream.write('<allow-access-from domain="*" to-ports="*" secure="false" />\n');
stream.write('</cross-domain-policy>\0');
 
/*
		stream.write('<?xml version="1.0"?>');
		stream.write('<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">');
		stream.write('<cross-domain-policy>');
		stream.write('<allow-access-from domain="*" to-ports="*" />');
		stream.write('<site-control permitted-cross-domain-policies="master-only" />'); 
		stream.write('</cross-domain-policy>');
*/
		stream.end();
	});
});
server.listen(843, '88.198.13.155');
Добавлено через 59 секунд
Сейчас попробую тот

Добавлено через 27 минут
те же яйца, только в профиль ((
__________________
-------------------------------
FLASH FLASH FLASH FLASH FLASH

Старый 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);
Все заработало сразу после сборки.

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

Регистрация: Nov 2004
Адрес: Архангельская область
Сообщений: 492
Отправить сообщение для Azo с помощью ICQ Отправить сообщение для Azo с помощью AIM Отправить сообщение для Azo с помощью Yahoo
mikhailk, Спасибо кончено, а попробуйте теперь переложить клиент на другой сервер?

Можете прислать ваш пример?
__________________
-------------------------------
FLASH FLASH FLASH FLASH FLASH


Последний раз редактировалось Azo; 02.05.2013 в 23:30.
Старый 02.05.2013, 23:49
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 20  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Все правильно, та же ситуация - ломится за кроссдоменником на тот же порт, что и у сокет-сервера.

Кстати, вот тут смотрели?
Сам не проверял, но у человека вроде все заработало:
http://www.flasher.ru/forum/showthread.php?t=194536

На третьей странице вверху.

Создать новую тему Ответ Часовой пояс GMT +4, время: 22:33.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
NodeJs , SocketIO , webSocket , Ошибка безопасности
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 22:33.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.