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

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

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

Регистрация: Jul 2015
Сообщений: 73
По умолчанию исходники банального "helloy world" сокет соединения as3 + php

пааарни мой мозг щас взорвется. хочу изучить сокеты в связке as3+php, вроде как то разобрался но вот политика безопасности уже неделю стоит в горле, что не так не понимаю, не поленитесь кто нибудь дайте исходники банального "helloy world" сокет соединения as3 + php с политикой безопасности что бы все работало. буду непомерно благодарен

Добавлено через 1 минуту
не туда написал по ходу сорри

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

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
здесь могла быть ваша реклама
__________________
return this...

Старый 18.07.2015, 20:18
tattori вне форума Посмотреть профиль Отправить личное сообщение для tattori Найти все сообщения от tattori
  № 3  
Ответить с цитированием
tattori

Регистрация: Jul 2015
Сообщений: 73
Код AS3:
package  {
 
	import flash.display.MovieClip;
	import flash.events.ErrorEvent;
    import flash.events.Event;
    import flash.events.IOErrorEvent;
    import flash.events.ProgressEvent;
    import flash.events.SecurityErrorEvent;
    import flash.net.Socket;
     import flash.utils.ByteArray;
     import flash.events.MouseEvent;
	 import flash.system.Security;
	 	import flash.system.SecurityPanel;
 
 
	public class main extends MovieClip {
 
 
		public function main() {
			 // укажите хост для создания подключения
            var host:String = '127.0.0.1';
            // укажите порт для создания подключения
            var port:uint = 1985;
			 // создаем объект-сокет
 
		Security.loadPolicyFile("xmlsocket://127.0.0.1:1985")
 
			 //Security.loadPolicyFile("http://127.0.0.1/crossdomain.xml");
 
           var socket = new Socket();
            // слушаем события
 
            socket.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler);
            socket.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
            socket.addEventListener(Event.CONNECT, connectHandler);
            socket.addEventListener(ProgressEvent.SOCKET_DATA, dataHandler);
            // устанавливаем соединение по указанному хосту и порту
 
		   stage.addEventListener(Event.ENTER_FRAME, ww)
		   function ww(event:Event):void
		   {
			  socket.connect(host, port);
			  stage.removeEventListener(Event.ENTER_FRAME, ww)
		   }
 
			 /**
         * Обработчик событий об ошибках
         */
      function errorHandler(event:ErrorEvent):void
        {
 
            trace('Ошибка. error type='+event.type);
            switch (event.type) {
                case IOErrorEvent.IO_ERROR:
				ttt.text = "ошибочка";
                    trace('Ошибка возникает когда по указанному хосту не удается найти сокет-сервер');
 
					break;
                case SecurityErrorEvent.SECURITY_ERROR:
				ttt.text = "Ошибка возникает когда срабатывает политика безопасности флешки. Сокет-сервер должен вернуть полиси-файл.";
                    trace('Ошибка возникает когда срабатывает политика безопасности флешки. Сокет-сервер должен вернуть полиси-файл.');
                    break;
            }
 
        }
 
 
 
 
 
 
 
		 /**
         * Обработчик события об успешном подключении к серверу
         */var command:int = 1;
 
      function connectHandler(event:Event):void
        {
 
            ttt.text = 'соединение установлено';
			command = kkl.x;
            socket.writeUTFBytes(command);
            socket.flush();
 
        }
 
 
		 /**
         * Обработчик получения данных от сервера
         */
 
       function dataHandler(event:ProgressEvent):void
        {
			ttt.text = 'Получены новые данные';
            trace('Получены новые данные');
        var readSock:String = socket.readUTFBytes(socket.bytesAvailable)
		trace(readSock);
		ttt.text = readSock;
		stage.addEventListener(Event.ENTER_FRAME, ww)
        }
 
 
 
 
		}
	}
 
}
PHP код:
<?php

header
('Content-Type: text/plain;'); //Мы будем выводить простой текст

set_time_limit(0); //Скрипт должен работать постоянно

ob_implicit_flush(); //Все echo должны сразу же отправляться клиенту

$address '127.0.0.1'//Адрес работы сервера

$port 1985//Порт работы сервера (лучше какой-нибудь редкоиспользуемый)

if (($sock socket_create(AF_INETSOCK_STREAMSOL_TCP)) < 0) {
    
//AF_INET - семейство протоколов
    //SOCK_STREAM - тип сокета
    //SOL_TCP - протокол
    
echo "Ошибка создания сокета";
  }
  else {echo 
"Сокет создан\n";}
 
//Связываем дескриптор сокета с указанным адресом и портом
  
if (($ret socket_bind($sock$address$port)) < 0) {
    echo 
"Ошибка связи сокета с адресом и портом";}
  else {echo 
"Сокет успешно связан с адресом и портом\n"; }




 
//Начинаем прослушивание сокета (максимум 5 одновременных соединений)

  
if (($ret socket_listen($sock5)) < 0) {
    echo 
"Ошибка при попытке прослушивания сокета";
  }

  else {
    echo 
"Ждём подключение клиента\n";
  }


 


//Принимаем соединение с сокетом

    
if (($msgsock socket_accept($sock)) < 0) {
      echo 
"Ошибка при старте соединений с сокетом";
    }

 else {
      echo 
"Сокет готов к приёму сообщений\n";
    }


while(
true)
{
      echo 
'Сообщение от клиента:';
      if (
false === ($buf socket_read($msgsock1024))) {
        echo 
"Ошибка при чтении сообщения от клиента";       }
      else {
        echo 
$buf."\n"//Сообщение от клиента
      
}
  if (
'<policy-file-request/>' "\x00" === $buf) {
echo 
"ПОЛИТИКА ПРИШЛА!!!!!"
            
$crossdomain '<?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="*" secure="false" /><site-control permitted-cross-domain-policies="all" /></cross-domain-policy>'."\x00";
            
socket_write($msgsock$crossdomainstrlen($crossdomain));
 
socket_close($sock);
echo 
"ПОЛИТИКА ОТПРАВЛЕНА!!!!!"
}
else{
echo 
$buf;
}

}
         

?>
что тут не так?

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

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
Проверьте фаервол, а лучше отключите его. + Проверьте права исполняемого пхп на выполнение ( 777 )
__________________
return this...

Старый 19.07.2015, 10:07
bifidokk вне форума Посмотреть профиль Отправить личное сообщение для bifidokk Найти все сообщения от bifidokk
  № 5  
Ответить с цитированием
bifidokk
 
Аватар для bifidokk

Регистрация: Jan 2011
Сообщений: 200
так вы расскажите, что в итоге-то? php скрипт запускается без ошибок? клиент коннектится? что-то до скрипта доходит?

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

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
допишите после hander(params) в php, код, который создаст файл например в родительском каталоге. Узнаете был ли запуск интерпритатора php
__________________
return this...

Старый 20.07.2015, 08:37
bifidokk вне форума Посмотреть профиль Отправить личное сообщение для bifidokk Найти все сообщения от bifidokk
  № 7  
Ответить с цитированием
bifidokk
 
Аватар для bifidokk

Регистрация: Jan 2011
Сообщений: 200
Цитата:
Сообщение от AlexCooper Посмотреть сообщение
допишите после hander(params) в php, код, который создаст файл например в родительском каталоге. Узнаете был ли запуск интерпритатора php
а как можно не узнать, был ли запуск, если это по сути мини демон? его отдельно в консоли можно (нужно) запустить.

Старый 20.07.2015, 13:55
tattori вне форума Посмотреть профиль Отправить личное сообщение для tattori Найти все сообщения от tattori
  № 8  
Ответить с цитированием
tattori

Регистрация: Jul 2015
Сообщений: 73
все, спасибо парни , вроде как все получилось, доведу все до ума и выставлю исходники "Helloy world" для тех у кого та же проблема

Старый 21.07.2015, 08:51
bifidokk вне форума Посмотреть профиль Отправить личное сообщение для bifidokk Найти все сообщения от bifidokk
  № 9  
Ответить с цитированием
bifidokk
 
Аватар для bifidokk

Регистрация: Jan 2011
Сообщений: 200
и название исходников лучше сделать правильными, а то как корабль назовете

Старый 21.07.2015, 18:21
tattori вне форума Посмотреть профиль Отправить личное сообщение для tattori Найти все сообщения от tattori
  № 10  
Ответить с цитированием
tattori

Регистрация: Jul 2015
Сообщений: 73
Цитата:
и название исходников лучше сделать правильными, а то как корабль назовете
Client.as и Server.php думаю подойдет)))) хотя думаю не сильно важны названия глевное что бы сам понимал

Создать новую тему Ответ Часовой пояс GMT +4, время: 19:46.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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