NetStream, как установить максимальное количество пиров, которые можно подключить к издателю?
Допустим, у меня уже есть 4 пира, подключенных к издателю, и я хочу сбросить новые подключения (для разработчиков игр, таких как игроки).
Я попробовал это:
stream.client.onPeerConnect = function( s:NetStream ):Boolean
{
return stream.peerStreams.length + 1 <= 4;
}
Он не передает данные, но сообщает "NetStream.Connect.Success" подписчику (ожидая "NetStream.Connect.Failed" или "NetStream.Connect.Closed").
Также попробовал это: (в NetStatusEvent.NET_STATUS слушатель класса NetConnection)
switch(evt.info.code)
{
case 'NetStream.Connect,Success':
if(stream.peerStreams.length > 4)
{
evt.info.stream.close(); break;
}
// setup a new stream for receive data from evt.info.stream.farID (or Peer ID) //
................
Он закрывает это соединение, но до того, как это произойдет, издатель может отправить некоторые данные (аудио, видео, пользователя), которые мне не нравятся.
Есть идеи?
1 ответ
NetConnection
класс имеет свойство под названием maxPeerConnections
который вы должны быть в состоянии установить на 4 (по умолчанию 8). Это сделает так, чтобы 5-е входящее соединение даже не получало NetStream.Connect.Success
это то, что я считаю, что вы хотите
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetConnection.html