Показать сообщение отдельно
Старый 13.06.2007, 15:29
progman вне форума Посмотреть профиль Отправить личное сообщение для progman Найти все сообщения от progman
  № 14  
Ответить с цитированием
progman
 
Аватар для progman

Регистрация: May 2007
Адрес: Saint-Petersburg
Сообщений: 136
Отправить сообщение для progman с помощью ICQ
Цитата:
Сообщение от __etc
Ну это я ошибся. 0.2 конечно.
блин, так он не поддерживает web вообще.
там только сокет-сервер.

тоесть мне придется еще туда вебсрвер ставить чтобы флеша могла какой то файл закачать? блин бред (((((

вопрос решен.
в флеше надо добавить:
Код:
function Connect()
{
    System.security.loadPolicyFile("xmlsocket://193.168.0.2:7777"); 
    _root.sock.onConnect = onSockConnect;    // соединение
    _root.sock.onXML = onGetXML;        // получение данных
    _root.sock.onClose = onSockClose;    // связь утеряна
    _root.sock.connect( _root.serverName, _root.serverPort);
}
на сервере добавить обработчик такого пакета:
Код:
bool CLogin::Receive( netlib::IClient* pClient, netlib::IClentPacket* iPacket )
{
.....
 const char* name = iPacket->getNodeName();
 if(!strcmp("policy-file-request", name))
 {
  CPrivacyXML* bp = new CPrivacyXML(  (CClient*) pClient, false );
  Kernel::SendPacket( bp );
  return true;
 }
}
Код:
CPrivacyXML::CPrivacyXML(CClient* pClient, bool error)
{
	string xml_string = "<cross-domain-policy>";
	xml_string += "<allow-access-from domain=\"*\" to-ports=\"7777\" />";
	xml_string += "</cross-domain-policy>";
	
	this->WriteString( xml_string.c_str() );
	this->SetSocket( pClient->GetSocket() ); 
}
XML сокет сам пошлет на сервер, на указанный порт запрос "policy-file-request"
на который необходимо прислать валидный ответ о правах доступа.

__etc сенкс, направил в нуное русло поиска "Crossdomain policy"
__________________
fast restart: *((int*)0) = 0;


Последний раз редактировалось iNils; 13.06.2007 в 16:28.