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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 09.08.2011, 20:50
Фенёк вне форума Посмотреть профиль Отправить личное сообщение для Фенёк Найти все сообщения от Фенёк
  № 1  
Ответить с цитированием
Фенёк

Регистрация: May 2011
Сообщений: 221
Question Не могу приконнектить сокет, в чем я не прав?

Main.as выглядит следующим образом

Код AS3:
package {
    import flash.display.Sprite;
    import flash.net.Socket;
    import flash.events.Event;
	import flash.system.Security;
 
    public class Main extends Sprite {
 
        public function Main() {
            var socket:Socket = new Socket
			Security.loadPolicyFile("http://blabla.ru/crossdomain.xml")
			socket.connect("http://blabla.narod.ru", 843)
			socket.addEventListener(Event.CONNECT, connectHandler);
        }
		private function connectHandler(e:Event)
		{
			trace ("connected")
		}
    }
}
Содержимое crossdomain.xml выглядит следующим образом

PHP код:
<?xml version="1.0"?>
<cross-domain-policy>
    <allow-access-from domain="*" to-ports="*" meta-policy="master-only"/>
</cross-domain-policy>
при попытке компилляции кода вылезает ошибка
«SecurityError: Error #2000: Отсутствует активный контекст безопасности.»

Подскажите, в чем я не прав?

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
в чем я не прав?
Во-первых, файл политики надо грузить по протоколу xmlsocket, а не http
Код AS3:
Security.loadPolicyFile("xmlsocket://blabla.ru/crossdomain.xml")
Во-вторых, соединяться с 843 портом нет смысла, Вас туда скорее всего не пустят (этот порт ниже 1024, значит по-умолчанию закрыт + на этом порту по идее должен раздаваться файл политики. У Вас он раздаетя в другом месте). Попробуйте соединиться с портом 1025 или выше.

В-третьих, файл политики должен разрешать доступ к тому домену, с которого раздается. То есть если Вы грузите файл политики с http://blabla.ru, то доступ не будет разрешен к домену http://blabla.narod.ru (у Вас в примере один домен отдает файл политики, а к другому идет соединение)

В-четвертых, «SecurityError: Error #2000: Отсутствует активный контекст безопасности.» - это скорее всего тупо отсутствие ожидающего соединения на стороне сервера
__________________
...вселенская грусть

Старый 10.08.2011, 12:15
Фенёк вне форума Посмотреть профиль Отправить личное сообщение для Фенёк Найти все сообщения от Фенёк
  № 3  
Ответить с цитированием
Фенёк

Регистрация: May 2011
Сообщений: 221
Код AS3:
package {
    import flash.display.Sprite;
    import flash.net.*;
    import flash.events.Event;
	import flash.system.Security;
 
    public class Main extends Sprite {
 
        public function Main() {
            var socket:Socket = new Socket
			Security.loadPolicyFile("xmlsocket://blabla.ru/crossdomain.xml")
			socket.connect("http://blabla.ru", 1025)
			socket.addEventListener(Event.CONNECT, connectHandler);
        }
		private function connectHandler(e:Event)
		{
			trace ("connected")
		}
    }
}
И отфутболивает с той же ошибкой

попробовал заменить Socket на XMLSocket. На выходе «Error #2044: Необработанный ioError:. text=Error #2031: Ошибка сокета.»


Последний раз редактировалось Фенёк; 10.08.2011 в 12:22.
Старый 10.08.2011, 12:29
DaFive вне форума Посмотреть профиль Отправить личное сообщение для DaFive Посетить домашнюю страницу DaFive Найти все сообщения от DaFive
  № 4  
Ответить с цитированием
DaFive
 
Аватар для DaFive

Регистрация: May 2008
Адрес: {0,0}
Сообщений: 754
Записей в блоге: 1
Отправить сообщение для DaFive с помощью ICQ
Повесьте IOErrorEvent - посмотрите текст ошибки.
__________________
Кодинг, багинг, алгоритминг. me @

Старый 10.08.2011, 12:46
Фенёк вне форума Посмотреть профиль Отправить личное сообщение для Фенёк Найти все сообщения от Фенёк
  № 5  
Ответить с цитированием
Фенёк

Регистрация: May 2011
Сообщений: 221
[IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2031: Ошибка сокета. URL: http://Destructor-51.narod.ru"]
Error #2044: Необработанный securityError:. text=Error #2048: Нарушение изолированной среды: file:///G|/для%20AS3%20тестов/Duper%20Test/Duper%20Test.swf не может загрузить данные из http://Destructor-51.narod.ru:1025.
at Main()

Честно, я только начинаю ковырять веб-приложения и мне это очень мало о чем говорит.


Последний раз редактировалось Фенёк; 10.08.2011 в 12:51.
Старый 10.08.2011, 12:57
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 6  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
А вы подняли сокет-сервер на Destructor-51.narod.ru?
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 10.08.2011, 13:07
Фенёк вне форума Посмотреть профиль Отправить личное сообщение для Фенёк Найти все сообщения от Фенёк
  № 7  
Ответить с цитированием
Фенёк

Регистрация: May 2011
Сообщений: 221
расскажите пожалуйста про сокет-сервер. Что это, где взять или на чем написать и как примерно должен выглядть код?

Старый 10.08.2011, 13:25
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 8  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
о_О
Это сервер с сокетами.
__________________
тут я

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

Регистрация: Sep 2007
Адрес: Tomsk
Сообщений: 943
Отправить сообщение для kackbip с помощью ICQ Отправить сообщение для kackbip с помощью Skype™
Вам нужно:
1) добавить флэшку в доверенную либо залить ее на сервер - тогда перестанет появляться ошибка
Цитата:
Нарушение изолированной среды
Проблема в том, что локальная флэшка по-умолчанию не может обращаться в сеть.
2) Попробуйте обратиться к порту 80 - он у вас открыт для http.

upd:
Код AS3:
socket.connect("http://blabla.ru", 1025");
протокол http тут указывать не надо.


Последний раз редактировалось kackbip; 10.08.2011 в 13:51.
Старый 10.08.2011, 13:49
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 10  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
На народе стоит примитивный апач, без поддержки php.
__________________
тут я

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

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

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


 


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


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