Для начала
Код AS3:
public class ReciverAPI extends Sprite {
private const SERVER_ADDRESS:String = "rtmfp://stratus.adobe.com/";
private const DEVELOPER_KEY:String = "ваш_ключ";
подключение с цирусу
Код AS3:
nc = new NetConnection();
nc.addEventListener(NetStatusEvent.NET_STATUS,ncStatus);
nc.connect(SERVER_ADDRESS+DEVELOPER_KEY);
создание вещания
Код AS3:
private function ncStatus(event:NetStatusEvent):void{
txt.appendText('ncStatus'+event.info.code+"\n");
trace(event.info.code);
myPeerID = nc.nearID;
if (event.info.code == 'NetConnection.Connect.Success' ) {
initBroadcast();
}
trace("myPeerID: "+myPeerID);
}
private function initBroadcast():void {
trace("initSendStream");
txt.appendText("initBroadcast\n");
broadcast = new NetStream(nc,NetStream.DIRECT_CONNECTIONS);
broadcast.addEventListener(NetStatusEvent.NET_STATUS, broadcastHandler);
broadcast.publish("channel");
var broadcastClient:Object = new Object();
broadcastClient.onPeerConnect = function(callerns:NetStream):Boolean {
txt.appendText("broadcast onPeerConnect\n"+callerns.farID+"\n");
farPeerID = callerns.farID;
trace("onPeerConnect "+farPeerID);
return true;
}
broadcast.client = broadcastClient;
sendMyPeerId();
}
функция sendMyPeerId - означает то что вам нужно либо передать либо сохранить полученный пир-адресс, по которому остальные будут подключаться для просмотра вещания.
в приемнике точно так же подключаетесь к цирусу, но вы не создаете вещание, а присоединяетесь к полученному
Код AS3:
myPeerID
примерно так
Код AS3:
public function active(peerId:String):void {
txt.appendText(peerId+"\n");
try {
recvStream = new NetStream(nc,peerId);
recvStream.addEventListener(NetStatusEvent.NET_STATUS,netStatusHandler);
recvStream.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
recvStream.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler);
recvStream.play("channel");
recvStream.client = this;
} catch (e:Error) {
txt.appendText("error"+e+"\n");
} catch (e:SecurityError) {
txt.appendText("SecurityError"+e+"\n");
}
txt.appendText("connection\n");
}
Добавлено через 2 минуты
для полной связи между двумя клиентами нужно создавать для каждого вещание и множество слушателей.
Добавлено через 9 минут
И да... Есть множество людей у которых Р2Р не будет работать, примерно 30% от трафика нужно автоматически переводить на
live