Я реализовал простое приложение Flex, которое пытается подключиться к серверу по протоколу WebSocket. При запуске приложения в отладчике Flash Builder 4.6 все работает нормально. Поэтому я установил приложение на свой сервер, и теперь через некоторое время я получаю сообщение об ошибке № 2048. # 2048, похоже, ошибка в отношении безопасности.
Сервер предоставляет этот crossdomain.xml:
Обновлено
<?xml version="1.0" encoding="UTF-8" ?>
<cross-domain-policy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.adobe.com/xml/schemas/PolicyFileSocket.xsd">
<allow-access-from domain="*" to-ports="*" />
<site-control permitted-cross-domain-policies="master-only" />
</cross-domain-policy>
Редактировать: Он предоставляется по телефону
Security.loadPolicyFile('http://myserver:8081/crossdomain.xml');
Я вижу в журналах веб-сервера, что клиент загружает его.
Я использую AS3WebSocket в качестве реализации WebSocket для Flex.
Вот как я настраиваю объект WebSocket:
websocket = new WebSocket(url, "*", 'dummy', 5000);
// adding several event handler ...
websocket.connect();
Браузер подключается к серверу с
http://myserver:8081
Параметр url содержит
ws://myserver:8081/data
Почему он работает локально с Flash Builder, а не на моем сервере? Чего мне не хватает?