![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Dec 2011
Сообщений: 40
|
Не могу заставить флешку принимать файл политики от сокет-сервера на Java.
Причем флешка без проблем работает с сервером, если её запустить просто, но как только запустить её в iframe сайта размещенного на денвере - начинается запрос файла политики... понимаю, что это нормально... Что только не пробовал. Уже написал даже отдельный сокет-сервер, который только и делает, что по 843 порту отдает файл политики безопасности. До этого пытался отдавать файл по тому же порту, по которому осуществлял подключение к сокетам... Вот код сервера Java: import java.io.*;
import java.net.*;
public class Policy_Server {
/**
* @
*/
private static Policy_Server server;
private static ServerSocket socket;
private static Socket incoming;
private static BufferedReader readerIn;
private static PrintStream printOut;
private static int port = 843;
public static void main(String[] args) {
// TODO Auto-generated method stub
try
{
port = Integer.parseInt(args[0]);
}
catch (ArrayIndexOutOfBoundsException e)
{}
server = new Policy_Server(port);
}
private Policy_Server(int port)
{
try
{
socket = new ServerSocket(port);
incoming = socket.accept();
readerIn = new BufferedReader(new InputStreamReader(incoming.getInputStream()));
printOut = new PrintStream(incoming.getOutputStream());
boolean done = false;
while (!done)
{
String str = readerIn.readLine();
if (str == null)
{
done = true;
}
else
{
System.out.println(str);
if(str.indexOf("<policy-file-request/>")>=0)
{
String xml_string;
xml_string="<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
xml_string+="<cross-domain-policy xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"http://www.adobe.com/xml/schemas/PolicyFileSocket.xsd\">\n";
xml_string+="<allow-access-from domain=\"*\" to-ports=\"*\" secure=\"false\" />\n";
xml_string+="<site-control permitted-cross-domain-policies=\"master-only\" />\n";
xml_string+="</cross-domain-policy>";
printOut.println(xml_string + (char)0);
//incoming.close();
}
}
incoming.close();
}
}
catch (Exception e)
{
System.out.println(e);
}
}
}
Причем сервер от флешки получает запрос <policy-file-request/>. А флеш отказывается принимать файл политики в ответ... Что я делаю не так??? сайт, который содержит флешку в iframe расположен в "localhost". Сервер запускается тоже на этом компьютере... Может у кого-нибудь есть работающий пример сервера. Либо дело в клиентской части??? |
|
|||||
|
Регистрация: Dec 2011
Сообщений: 40
|
Пробовал я этот вариант crossdomain. Ситуация без изменений...
Насчет сервера на си++ пытаюсь разобраться... но честно сказать, тяжело мне провести аналогию с Java. И, соответственно, не могу пока разобраться со своей ошибкой.... Помогите! несколько дней уже бьюсь... Добавлено через 4 часа 9 минут Вроде как решил!!!!!!!!! Что-то начало меняться... Не могу сказать в чем конкретно была ошибка... Скорее всего много где... и в любом случае в сервере... Пытаюсь выяснить. Нашел в интернете очень полезную информацию... Пример взаимодействия Java+Flash На основе примера начал "лепить" другой сервер Java... И там политика уже работает!!!!!!!!!!!!!!!!! Вот ссылка: http://www.broculos.net/en/article/h...sh-java-server Уверен, что много кому пригодится... |
![]() |
![]() |
Часовой пояс GMT +4, время: 16:44. |
|
|
« Предыдущая тема | Следующая тема » |
|
|