IPB

Здравствуйте, гость ( Вход | Регистрация )

> Флэш чат, Какими средставами лучше всего создавать чат?(Flash,PHP,xml,FMS)?
  • Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом
  • Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта
Antoxer_92
сообщение 21.07.2011 - 18:46
Сообщение #1


Новичок
*

Группа: Пользователь
Сообщений: 30
Регистрация: 21.07.2011
Пользователь №: 10598



Ребят подскажите пожалуйста, что мне лучше использовать для создания полнофункционального чата(наличие различных комнат, отображение тех, кто в комнате)? На данный момент я я пытаюсь создать чат средствами Flash ->PHP->xml. Т.к. я думаю это наиболее разумно, поскольку PHP может обращатся к MySQL, кот. может хранить инфо "в сети ли пользователь или нет, ну и возможно понадобится что-нибудь ещё". Так вот я сталкнулся с такой проблемой:

Когда я отправляю сообщение из флэшки в PHP, то PHP его записывает в xml(это проверено - работает). А вот Flash почему-то не всегда (1 раз из 10) считывает этот xml файл. Flash я запускал из vkontakte.ru, php и xml лежит на локальном сервере у меня на компе.

Вот именно тот AS 3.0 код загружает этот xml файл по нажатию кнопки обновить (как разбирусь с моей проблемой, поставлю таймер для обновления):

update_btn.addEventListener(MouseEvent.MOUSE_UP, loadXml);

function loadXml(e:MouseEvent=null):void
{
var xmlRequest:URLRequest=new URLRequest("http://95.63.96.78/messages.xml");
var loader:URLLoader=new URLLoader();
loader.addEventListener(Event.COMPLETE, xmlLoaded);
loader.load(xmlRequest);
}

function xmlLoaded(e:Event):void
{
xmlCHT=XML(e.target.data);
xmlListCHT=xmlCHT.children();

updateText();
}

function updateText():void
{
messageViewCHT_txt.htmlText='';
var i:uint=0;

if(xmlListCHT.length()>maxMes)
i=xmlListCHT.length()-maxMes;

for(i;i<xmlListCHT.length();i++)
{
messageViewCHT_txt.htmlText+='<b>'+xmlListCHT[i].name+'</b> ('+xmlListCHT[i].date+'):';
messageViewCHT_txt.htmlText+=' '+xmlListCHT[i].text;
}

}
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
2 страниц V  < 1 2  
Открыть новую тему
Ответов (20 - 23)
chingachgoog
сообщение 29.11.2011 - 18:53
Сообщение #21


Ветеран конференции
*****

Группа: Пользователь
Сообщений: 1129
Регистрация: 27.02.2009
Из: Moscow
Пользователь №: 9144



Цитата(chingachgoog @ 14.11.2011 - 20:16) *
не надо заниматься серверным скриптом


Поковырял тут этот Циррус и понял, что я ошибся - серверный скрипт нужен. Без него никак не узнать ID другого пира (а другой пир не узнает мой ID). Вот тут серверный скрипт и должен запоминать пары имя_пира - ID пира. Странно, что адоб не заложила такую возможность у себя на p2p.rtmfp.net
Правда есть альтернатива - https://github.com/OpenRTMFP/Cumulus но, наверное, это для гуру-фанов.


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
MustLive
сообщение 30.11.2011 - 00:44
Сообщение #22


Ветеран конференции
*****

Группа: Flash Zone Team
Сообщений: 4828
Регистрация: 10.03.2005
Из: Киев
Пользователь №: 5



Цитата
файл политик всётаки отправляется, но что то флэш его отвергает!!!

Antoxer_92, значит файл политик у тебя некорректный.

Цитата
Да кстати ещё нужно поставить в настройках флэша во вкладке publish settings снизу в combobox-е значение "access Network Only", а не "accsess Local filse Only"(значение по умолчанию)!!!

Это обязательно для всех флешек работающий онлайн, о чём мы уже не раз писали на форуме.

Цитата
Я уже как и не пробывал этот файл политик менять, никак не получается!!! Что здесь такое!!!?

Прочти документацию Адоба по созданию файла политик, а также о секюрити нововведениях в последний версиях флеша (о мета-политиках для сокетов) и достань себе примеры рабочих и корректных файлов политик. Он д.б. без обратных слэшев перед двойными кавычками, так как то был пример для PHP, а у тебя Delphi. Если ты никак не можешь на Delphi сделать рабочий сокет-сервер, сделай простой сокет-сервер на PHP, а как разберёшься с созданием корректных файлов политик, тогда уже сделаешь на Delphi.

Цитата
Правда есть альтернатива

Будет ли Стратус/Циррус использоваться или OpenRTMFP/Cumulus - это лишь в случае если он захочет реализовать через Адобовский p2p, а пока что Antoxer_92 настроен решить задачу своим собственным сокет-сервером.


--------------------
Best wishes & regards,
MustLive
Администратор сайта
http://mlfun.org.ua
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
VINTpro
сообщение 23.02.2012 - 16:56
Сообщение #23


Новичок
*

Группа: Пользователь
Сообщений: 8
Регистрация: 23.02.2012
Пользователь №: 10901



Советую {AJAX} wink.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
chingachgoog
сообщение 22.01.2013 - 16:18
Сообщение #24


Ветеран конференции
*****

Группа: Пользователь
Сообщений: 1129
Регистрация: 27.02.2009
Из: Moscow
Пользователь №: 9144



Цитата(chingachgoog @ 29.11.2011 - 19:53) *
Странно, что адоб не заложила такую возможность у себя на p2p.rtmfp.net


Усё работает теперь без всяких серверов (ну конечно с сервером, но скрыто, видимо функционал именно на p2p.rtmfp.net)
Используем NetGroup и вспомогательные к нему классы.

Вот простой пример.
(Не забываем сначала зайти на http://www.adobe.com/cfusion/entitlement/index.cfm?e=cirrus и получить ключ разработчика)

Код
package
{
    import flash.display.*;
    import flash.events.*;
    import flash.net.*
    import flash.text.*
    
    
    /**
     * ...
     * @author chingachgoog@mail.ru
     */
    public class P2P extends Sprite
    {
        private var tf:TextField    
        
        /*
         Необходимо получить ключ разработчика!!!
         http://www.adobe.com/cfusion/entitlement/index.cfm?e=cirrus
        Логинимся, получаем свой ключ и вставляем его в константу внизу:
        */
            
        private const CirrusAddress:String = "rtmfp://p2p.rtmfp.net/" // К этому адресу дописываем полученный ключ разраба
        private var netConnection:NetConnection;
        private var myPeerID:String  // Мой ID
        
        public function P2P():void
        {
            if (stage) init();
            else addEventListener(Event.ADDED_TO_STAGE, init);
        }
        
        private function init(e:Event = null):void
        {
            removeEventListener(Event.ADDED_TO_STAGE, init);
            try {
                netConnection = new NetConnection();
                netConnection.addEventListener(NetStatusEvent.NET_STATUS, netConnectionHandler);
                netConnection.connect(CirrusAddress);
            } catch (e:Error) {
                tf.appendText("\rEr=" + e)
            }
            // Отображение логов
            tf = new TextField()
            tf.autoSize = TextFieldAutoSize.LEFT
            tf.multiline = true
            tf.text = "init\r"
            addChild(tf)
            
            stage.addEventListener(MouseEvent.CLICK, toClick)
        }
        private function toClick(e:MouseEvent):void {
            var message:Object = new Object;
            message.text = "Hi!"
            myNetGroup.post(message);
        }
                
        private function netConnectionHandler(e:NetStatusEvent):void {
            
            var outpoot:String="\r"
            var o:Object=e.info as Object
            var message:String
            if (e.info.error) {
                message=e.info.error
            } else {
                message=e.info.code
            }
            outpoot += "\r"+message
            
            switch (message) {
                case "NetConnection.Connect.Success":
                    myPeerID = netConnection.nearID
                    outpoot+="\rmyPeerID="+myPeerID
                    if (!myNetGroup) initGroup()
                    break
                    
                //////////////////////////////////////////
    
                case "NetGroup.Posting.Notify": // e.info.message, e.info.messageID
                    outpoot += "\rNetGroup.Posting.Notify " + e.info.message.text
                    myGroup.postingEnabled = true;
                    break;
            }
    
            tf.appendText(outpoot)
        }
        
        private var myNetGroup:NetGroup
        private var myGroup:GroupSpecifier
        
        private function initGroup():void {
            try {
                myGroup = new GroupSpecifier("flashzone.ru")
                myGroup.postingEnabled = true;
                myGroup.serverChannelEnabled = true;
                myNetGroup = new NetGroup(netConnection, myGroup.groupspecWithAuthorizations())
                myNetGroup.addEventListener(NetStatusEvent.NET_STATUS, netConnectionHandler)
            } catch (er:Error) {
                
            }
        }
        
    }
    
}


PS

/forum/index.php?showto...ost&p=15397

Сообщение отредактировал chingachgoog - 22.01.2013 - 16:20


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

2 страниц V  < 1 2
Ответить в эту темуОткрыть новую тему
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 13.05.2013 - 04:11