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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.02.2012, 23:05
ashIndie вне форума Посмотреть профиль Отправить личное сообщение для ashIndie Найти все сообщения от ashIndie
  № 21  
Ответить с цитированием
ashIndie

Регистрация: Feb 2012
Сообщений: 68
немного разобрался.....
создал отдельно клиента и отдельно вещателя, после запуска в текстовое поле вставляю id и начинает вещать....плохо конечно но без задержек....
теперь вопрос....как сделать чтобы они автоматически обменивались ими и друг у другу подключались?

Добавлено спустя время:
Я могу узнать кто подключился ко мне и вещать данные с его камеры....но изначально как сделать чтобы они знали как друг к другу подключиться?....если peerID присваивается только во время подключения?
Silicium, Кстати спасибо большое, ты мне очень помог!!!


Последний раз редактировалось ashIndie; 25.02.2012 в 23:13.
Старый 25.02.2012, 23:17
Silicium вне форума Посмотреть профиль Отправить личное сообщение для Silicium Найти все сообщения от Silicium
  № 22  
Ответить с цитированием
Silicium
 
Аватар для Silicium

Регистрация: Sep 2010
Адрес: Ростов-на-Дону
Сообщений: 369
http://melnaron.net/development/peer...-chat-in-flash

Вы это внимательно прочли? Сорц смотрели?

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

Регистрация: Feb 2012
Сообщений: 68
да но там php, хотелось бы обойтись без него

Старый 26.02.2012, 00:27
MikroAcse вне форума Посмотреть профиль Отправить личное сообщение для MikroAcse Найти все сообщения от MikroAcse
  № 24  
Ответить с цитированием
MikroAcse
 
Аватар для MikroAcse

Регистрация: Feb 2012
Сообщений: 1,540
Там php - только регистрация...
Можно и без нее обойтись.

Старый 26.02.2012, 00:28
ashIndie вне форума Посмотреть профиль Отправить личное сообщение для ashIndie Найти все сообщения от ashIndie
  № 25  
Ответить с цитированием
ashIndie

Регистрация: Feb 2012
Сообщений: 68
Каким образом?

Добавлено через 43 минуты
есть еще кто не спит?....
последний штрих надо сделать....
но сижу над ним уже тоже долго

Добавлено через 2 часа 20 минут
Теперь проблема в другом. Тестировал все это дело на одном компьюетере, запуская просто в двух окнах браузера. Флешка сама на моем веб-сервере лежала, не локальном....Но щас другие люди не могут к ней подключиться..с других машин...в чем может быть проблема?


Последний раз редактировалось ashIndie; 26.02.2012 в 03:14.
Старый 26.02.2012, 20:20
ЗлОй ПрОграММер вне форума Посмотреть профиль Отправить личное сообщение для ЗлОй ПрОграММер Найти все сообщения от ЗлОй ПрОграММер
  № 26  
Ответить с цитированием
ЗлОй ПрОграММер

Регистрация: Nov 2010
Сообщений: 434
чтобы не плодить тем отпишусь здесь, надеюсь автор не против всё же задачи одинаковые
мне нужно связать 2 флешки, делал всё по этой теме но нечего не вышло(флешка не видит когда к ней подключатся другая) пожалуйста подскажите в чём ошибка
Код AS3:
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);
		//----------------------------------------------------------------------
		}
 
	}
 
}

Старый 26.02.2012, 21:24
Silicium вне форума Посмотреть профиль Отправить личное сообщение для Silicium Найти все сообщения от Silicium
  № 27  
Ответить с цитированием
Silicium
 
Аватар для Silicium

Регистрация: Sep 2010
Адрес: Ростов-на-Дону
Сообщений: 369
А кто к кому подключается? Запускаешь две флэшки - и они обе ждут подключения. Кто-то из ник должен первым приконнектиться к другому, а для этого ты должен создать слушающий поток с руками заданным farID, равным nearID первой запущенной флэшки

Старый 26.02.2012, 21:44
ЗлОй ПрОграММер вне форума Посмотреть профиль Отправить личное сообщение для ЗлОй ПрОграММер Найти все сообщения от ЗлОй ПрОграММер
  № 28  
Ответить с цитированием
ЗлОй ПрОграММер

Регистрация: Nov 2010
Сообщений: 434
а есть где нить в исходниках пример такого слушащего потока ? а то я уж голову сломал как это всё работает
Башка кипит уже, так что извиняйте если чушь несу, моя задача узнать nearID первой флешки и вбить его сюда ?
Код AS3:
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.
Старый 26.02.2012, 23:42
Silicium вне форума Посмотреть профиль Отправить личное сообщение для Silicium Найти все сообщения от Silicium
  № 29  
Ответить с цитированием
Silicium
 
Аватар для Silicium

Регистрация: Sep 2010
Адрес: Ростов-на-Дону
Сообщений: 369
именно


Последний раз редактировалось Silicium; 26.02.2012 в 23:50.
Старый 28.02.2012, 11:47
ЗлОй ПрОграММер вне форума Посмотреть профиль Отправить личное сообщение для ЗлОй ПрОграММер Найти все сообщения от ЗлОй ПрОграММер
  № 30  
Ответить с цитированием
ЗлОй ПрОграММер

Регистрация: Nov 2010
Сообщений: 434
в общем сделал как вы сказали и всё получилось, я передавал координаты мышки из одной флешки в другую. Но вот вопрос если мышка хотя бы секунд 5 неактивна то возникает событие NetStream.Connect.Closed С чем это может быть связано ? если не ошибаюсь оно должно возникать когда одна из флешек фокус потеряет

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

Теги
rtmfp

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

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


 


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


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