Показать сообщение отдельно
Старый 16.10.2010, 19:52
Eric Gurt вне форума Посмотреть профиль Отправить личное сообщение для Eric Gurt Посетить домашнюю страницу Eric Gurt Найти все сообщения от Eric Gurt
  № 9  
Ответить с цитированием
Eric Gurt
 
Аватар для Eric Gurt

Регистрация: Oct 2006
Сообщений: 395
При запуске флэшки из браузера с debug версией флэша, спустя 15 секунд после подключения:
Код:
Connection securityError: [SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2048: Нарушение изолированной среды: http://91.200.106.130/xxx.swf?36072 не может загрузить данные из 91.200.106.130:10014."]
При запуске из IDE все так же хорошо.

В логе все происходит в одну секунду, после "<policy-file-request/>" флэшка сразу шлет пустой буффер:
Код:
[07:16:43] New client connected: 91.200.106.130 (Total 1 clients)
[07:16:43]  -- Client said: <policy-file-request/>�
[07:16:43] client requested crossdomain.xml sending...
[07:16:43]  -- Client said: 
[07:16:43] client disconnected.
из-за которого, как видно далее, сервер её отключает (это верно?)
Код сервера:

Код AS3:
...
 
$address = '0.0.0.0';
$port    = 10014;
 
$crossdomain="<?xml version=\"1.0\"?><cross-domain-policy><allow-access-from domain=\"*\" to-ports=\"$port\" /></cross-domain-policy>\0";
 
...
 
if (strlen($data)==0 && ord($data)==0) 
// так было в одном из примеров, с которого все началось
// сервер отключается при получении пустого буфера
			{
                // remove client for $clients array
                $key = array_search($read_sock, $clients);
                unset($clients[$key]);
                echo date("[H:i:s] ")."client disconnected.\n";
                // continue to the next client to read from, if any
                continue;
            }
 
 
if (substr($data, 0, 12) == substr('<policy-file-request/>', 0, 12)) 
// отправка policy
			{
				echo date("[H:i:s] ")."client requested crossdomain.xml sending...\n";
				socket_write($send_sock, $crossdomain, strlen($crossdomain));
			}
 
...
"xmlsocket://" вообще корректно использовать при Socket?
Код AS3:
Security.loadPolicyFile("xmlsocket://"+MP_SERVER_IP+":"+MP_SERVER_PORT);
PS: пробовал убрать из php скрипта отключение при получении пустого буфера (почему он приходит?), и тогда флэшка шлет их тысячами после запроса полиции. Может это что-то значит?
__________________
.:Make it better:.
www.gevanni.com


Последний раз редактировалось Eric Gurt; 16.10.2010 в 19:54.