![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#21
|
|
![]() Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 1167 Регистрация: 27.02.2009 Из: Moscow Пользователь №: 9144 ![]() |
не надо заниматься серверным скриптом Поковырял тут этот Циррус и понял, что я ошибся - серверный скрипт нужен. Без него никак не узнать ID другого пира (а другой пир не узнает мой ID). Вот тут серверный скрипт и должен запоминать пары имя_пира - ID пира. Странно, что адоб не заложила такую возможность у себя на p2p.rtmfp.net Правда есть альтернатива - https://github.com/OpenRTMFP/Cumulus но, наверное, это для гуру-фанов. -------------------- |
|
|
![]()
Сообщение
#22
|
|
Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Flash Zone Team Сообщений: 4935 Регистрация: 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 |
|
|
![]() ![]()
Сообщение
#23
|
|
Новичок ![]() Группа: Пользователь Сообщений: 8 Регистрация: 23.02.2012 Пользователь №: 10901 ![]() |
Советую {AJAX}
![]() |
|
|
![]()
Сообщение
#24
|
|
![]() Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 1167 Регистрация: 27.02.2009 Из: Moscow Пользователь №: 9144 ![]() |
Странно, что адоб не заложила такую возможность у себя на 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.04.2014 - 04:52 |