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

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

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

Регистрация: Mar 2009
Сообщений: 9
По умолчанию Policy и сокеты.

Целый день ушел в пустую :/
Есть простой демон на перле:
Код:
use IO::Socket;

my $serv = IO::Socket::INET->new(
      LocalPort => 7777,
      Proto     => 'tcp',
      Listen    => 10,
      Reuse     => 1)
   or die "fig";

$police='<cross-domain-policy><allow-access-from-domain="*" to-ports="7777" /></cross-domain-policy>';

while (my $cl = $serv->accept()) {
   my $msg = <$cl>;
   if ($msg eq '<policy-file-request/>') {
       print $cl "$police";
       warn "Request\n";
       close $cl;
   } else {
        warn "Connected\n";
   }
}
close $serv;
и флешка:
Код AS3:
package {
 import flash.display.*;
 import flash.events.*;
 import flash.net.*;
 import flash.text.*;
 
 public class sockConn extends Sprite {
	 function sockConn() {
		var socket = new Socket();
		socket.addEventListener (Event.CONNECT, connLis);
 
		socket.connect ('localhost', 7777);
	 }
 
	 function connLis (e:Event):void {
		 text1.appendText("connected\n");
	 }
 }
}
Флешка подключается, запрашивает полис, демон благополучно его отдает, и все :/


Последний раз редактировалось Resonan; 20.03.2009 в 14:56.
Старый 19.03.2009, 21:05
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 2  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
А в чем проблема?..

Старый 19.03.2009, 21:41
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Забыли нулевой байт в сокет отправить.

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

Регистрация: Mar 2009
Сообщений: 9
Цитата:
Сообщение от __etc Посмотреть сообщение
Забыли нулевой байт в сокет отправить.
PHP код:
$police='<cross-domain-policy><allow-access-from-domain="*" to-ports="7777" /></cross-domain-policy>\0'
так?

Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
А в чем проблема?..
text1 не выводит connected


Последний раз редактировалось Resonan; 19.03.2009 в 22:41.
Старый 20.03.2009, 12:24
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от Resonan Посмотреть сообщение
так?
Не думаю. Нужно отправить именно нулевой байт, а не строковое значение.

Старый 20.03.2009, 14:42
Resonan вне форума Посмотреть профиль Отправить личное сообщение для Resonan Найти все сообщения от Resonan
  № 6  
Ответить с цитированием
Resonan
 
Аватар для Resonan

Регистрация: Mar 2009
Сообщений: 9
Цитата:
Сообщение от __etc Посмотреть сообщение
Не думаю. Нужно отправить именно нулевой байт, а не строковое значение.
Вот тут у меня тупик. Каким образом это делается?

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
может так?
$police='<cross-domain-policy><allow-access-from-domain="*" to-ports="7777" /></cross-domain-policy>'."\0";

В двойных кавычках содержимое интерпретируется. В одинарных - представляет собой стринг как есть.

Может можно и как $police='<cross-domain-policy><allow-access-from-domain="*" to-ports="7777" /></cross-domain-policy>'.0;

Давно с перлом не общался. Могу ошибаться.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

Регистрация: Mar 2009
Сообщений: 9
Вышел из тупика
http://www.adobe.com/devnet/flashpla...icy_files.html
если кому интересно, по перлу и питону.

Цитата:
Сообщение от dimarik Посмотреть сообщение
может так?
$police='<cross-domain-policy><allow-access-from-domain="*" to-ports="7777" /></cross-domain-policy>'."\0";

В двойных кавычках содержимое интерпретируется. В одинарных - представляет собой стринг как есть.

Может можно и как $police='<cross-domain-policy><allow-access-from-domain="*" to-ports="7777" /></cross-domain-policy>'.0;

Давно с перлом не общался. Могу ошибаться.
$NULLBYTE = pack( 'c', 0 );


В любом случае, всем спасиб


Последний раз редактировалось Resonan; 20.03.2009 в 17:46.
Создать новую тему Ответ Часовой пояс GMT +4, время: 07:10.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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