Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   узнать peerID слушателя NetStream (http://www.flasher.ru/forum/showthread.php?t=174466)

dsQuadro 26.01.2012 10:38

узнать peerID слушателя NetStream
 
Доброго времени суток всем!
столкнулся с проблемой: нужно узнать peerID клиента подключившегося к прослушиванию твоего потока NetStream, для последующего подключения к потоку подключившегося.
понимаю что можно это организовать через NetGroup, но хотелось бы обойтись минимальным кодом.

kackbip 26.01.2012 11:35

Может можно по NetStream#send отправить данные? Не знаю как это для п2п

dsQuadro 26.01.2012 12:06

отправить можно... и клиент получит их... но мне надо знать его peerID чтобы прослушивать от него данные NetStream работает в одну сторону...
кстати! кто тестил подключение стрима к группе??? я читал что такое подключение тормозит по началу, и не совсем понимаю как с ним тогда работать? сколько надо стримов в таком случае для отправки и получения данных?

nOobCrafter 26.01.2012 13:29

http://code.google.com/p/cocoon-p2p/
попробуйте это, на вид весьма простое и удобное решение.

undefined 26.01.2012 18:20

NetStream.client.onPeerConnect вроде вызывается в момент подключения

dsQuadro 26.01.2012 18:27

да, слушал... но там нет id... там просто передается экземпляр NetStream... уже решил этот вопрос всетаки подключением к группе и обменом адресами через группу...

но тут возникает вопрос... потэстил в режиме запрос - ответ через нетстрим, задержка получения ответа от 9 до 600 мили секунд (с удаленным компьютером)... это нормально???

undefined 26.01.2012 19:03

Цитата:

да, слушал... но там нет id
у потока который подключается есть свойство farID - как-раз оно.
в своей либе делал примерно так-же - сначала через группу все обмениваются айдишниками, далее, по команде из группы, пиры устанавливают прямые подключения друг к другу через NetStream. Причем у каждого из N пиров должен быть 1 публикующий поток и (N-1) слушающих.

Цитата:

но тут возникает вопрос... потэстил в режиме запрос - ответ через нетстрим, задержка получения ответа от 9 до 600 мили секунд (с удаленным компьютером)... это нормально???
Попробуй вот эту флэшку в двух вкладках открыть и сравни.

dsQuadro 27.01.2012 00:26

я для соединения сейчас использую nearID а его в стриме нет... это меня и смутило... ну да ладно, уже сделал через нетгруп. Буду через него заодно и сообщения не требующие особой срочности, слать чтобы не грузить сервер...

теперь вопрос как синхронизировать с учетом задержек...

DaFive 27.01.2012 14:54

farId - айдишник подключившегося.
Код AS3:

var o:Object = new Object();
o.onPeerConnect = onPeerConnect;
stream.client = o;
private function onPeerConnect(operatorStream:NetStream):void
{
    operator_id = operatorStream.farID;
}


dsQuadro 27.01.2012 16:53

да, спасибо! уже проверил...


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

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