![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2012
Сообщений: 68
|
немного разобрался.....
создал отдельно клиента и отдельно вещателя, после запуска в текстовое поле вставляю id и начинает вещать....плохо конечно но без задержек.... теперь вопрос....как сделать чтобы они автоматически обменивались ими и друг у другу подключались? Добавлено спустя время: Я могу узнать кто подключился ко мне и вещать данные с его камеры....но изначально как сделать чтобы они знали как друг к другу подключиться?....если peerID присваивается только во время подключения? Silicium, Кстати спасибо большое, ты мне очень помог!!! Последний раз редактировалось ashIndie; 25.02.2012 в 23:13. |
|
|||||
|
Регистрация: Sep 2010
Адрес: Ростов-на-Дону
Сообщений: 369
|
|
|
|||||
|
Регистрация: Feb 2012
Сообщений: 68
|
да но там php, хотелось бы обойтись без него
|
|
|||||
|
Регистрация: Feb 2012
Сообщений: 1,540
|
Там php - только регистрация...
Можно и без нее обойтись. |
|
|||||
|
Регистрация: Feb 2012
Сообщений: 68
|
Каким образом?
Добавлено через 43 минуты есть еще кто не спит?.... последний штрих надо сделать.... но сижу над ним уже тоже долго Добавлено через 2 часа 20 минут Теперь проблема в другом. Тестировал все это дело на одном компьюетере, запуская просто в двух окнах браузера. Флешка сама на моем веб-сервере лежала, не локальном....Но щас другие люди не могут к ней подключиться..с других машин...в чем может быть проблема? Последний раз редактировалось ashIndie; 26.02.2012 в 03:14. |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 434
|
чтобы не плодить тем отпишусь здесь, надеюсь автор не против всё же задачи одинаковые
мне нужно связать 2 флешки, делал всё по этой теме но нечего не вышло(флешка не видит когда к ней подключатся другая) пожалуйста подскажите в чём ошибка package { import flash.display.MovieClip; import flash.events.Event; import flash.events.MouseEvent; import flash.events.MouseEvent; import flash.net.NetConnection; import flash.net.NetStream; import flash.events.NetStatusEvent; import flash.text.TextField; import flash.text.TextFormat; public class MainClass extends MovieClip { private const CirrusAddress: String = "rtmfp://p2p.rtmfp.net/"; private const DeveloperKey: String = "xxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxx"; private var netConnection: NetConnection = new NetConnection(); private var nearPeerID: String; private var farPeerID: String; private var sendStream: NetStream; private var recvStream: NetStream; private var notificationText: TextField = new TextField(); public function MainClass(): void { //---------------------------------------------------------------------- if (stage) Initialization() else addEventListener(Event.ADDED_TO_STAGE, Initialization); //---------------------------------------------------------------------- } private function Initialization(e: Event = null): void { //---------------------------------------------------------------------- addNotificationText(); //---------------------------------------------------------------------- netConnection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); netConnection.connect(CirrusAddress, DeveloperKey); //---------------------------------------------------------------------- addEventListener(MouseEvent.MOUSE_DOWN, mouseDown); removeEventListener(Event.ADDED_TO_STAGE, Initialization); //---------------------------------------------------------------------- } private function mouseDown(e: MouseEvent): void { //---------------------------------------------------------------------- sendMessage("P2P"); //---------------------------------------------------------------------- } /* * В случае, если с Cirrus состоялось успешное соединение, у NetStatusEvent.NET_STATUS свойству info.code * будет присвоена строка «NetConnection.Connect.Success». */ private function netStatusHandler(e: NetStatusEvent): void { //---------------------------------------------------------------------- trace(e.info.code); if (e.info.code == "NetConnection.Connect.Success") { nearPeerID = netConnection.nearID; farPeerID = netConnection.farID; initSendStream(); } if (e.info.code == "NetStream.Publish.Start") { } //---------------------------------------------------------------------- } private function initSendStream(): void { //---------------------------------------------------------------------- sendStream = new NetStream(netConnection, NetStream.DIRECT_CONNECTIONS); sendStream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); sendStream.publish("media"); var sendStreamClient: Object = new Object(); sendStreamClient.onPeerConnect = function(farStream: NetStream): Boolean { initRecvStream(farStream.farID); return true; } sendStream.client = sendStreamClient; //---------------------------------------------------------------------- } private function initRecvStream(peerID: String): void { //---------------------------------------------------------------------- recvStream = new NetStream(netConnection, peerID); recvStream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); recvStream.play("media"); recvStream.client = this; //---------------------------------------------------------------------- } public function sendMessage(message: String): void { //---------------------------------------------------------------------- sendStream.send("recvMessage", message); recvMessage(message); //---------------------------------------------------------------------- } public function recvMessage(message: String): void { //---------------------------------------------------------------------- notificationText.appendText(message); //---------------------------------------------------------------------- } private function addNotificationText(): void { //---------------------------------------------------------------------- var textFormat: TextFormat; //---------------------------------------------------------------------- textFormat = new TextFormat("Courier New", 20, null, true); textFormat.align = "center"; notificationText.x = 0; notificationText.y = 0; notificationText.width = 800; notificationText.height = 700; notificationText.defaultTextFormat = textFormat; notificationText.wordWrap = true; notificationText.selectable = false; addChild(notificationText); //---------------------------------------------------------------------- } } } |
|
|||||
|
Регистрация: Sep 2010
Адрес: Ростов-на-Дону
Сообщений: 369
|
А кто к кому подключается? Запускаешь две флэшки - и они обе ждут подключения. Кто-то из ник должен первым приконнектиться к другому, а для этого ты должен создать слушающий поток с руками заданным farID, равным nearID первой запущенной флэшки
|
|
|||||
|
Регистрация: Nov 2010
Сообщений: 434
|
а есть где нить в исходниках пример такого слушащего потока ? а то я уж голову сломал как это всё работает
Башка кипит уже, так что извиняйте если чушь несу, моя задача узнать nearID первой флешки и вбить его сюда ? private function initRecvStream(peerID: String): void { //---------------------------------------------------------------------- recvStream = new NetStream(netConnection, peerID); recvStream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); recvStream.play("media"); recvStream.client = this; //---------------------------------------------------------------------- } Последний раз редактировалось ЗлОй ПрОграММер; 27.02.2012 в 11:35. |
|
|||||
|
Регистрация: Sep 2010
Адрес: Ростов-на-Дону
Сообщений: 369
|
именно
Последний раз редактировалось Silicium; 26.02.2012 в 23:50. |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 434
|
в общем сделал как вы сказали и всё получилось, я передавал координаты мышки из одной флешки в другую. Но вот вопрос если мышка хотя бы секунд 5 неактивна то возникает событие NetStream.Connect.Closed С чем это может быть связано ? если не ошибаюсь оно должно возникать когда одна из флешек фокус потеряет
|
![]() |
![]() |
Часовой пояс GMT +4, время: 18:10. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| rtmfp |
|
|