NetStream如何设置可以连接到发布者的最大对等数量?

时间:2013-07-16 22:52:57

标签: actionscript-3 flash p2p netconnection

假设我已经有4个同伴连接到发布者,我想放弃新的连接(用于游戏开发的东西,比如玩家)。

我试过了:

stream.client.onPeerConnect = function( s:NetStream ):Boolean
{
 return stream.peerStreams.length + 1 <= 4;
}

它不会传输数据,但会向订阅者发送'NetStream.Connect.Success'(期望'NetStream.Connect.Failed'或'NetStream.Connect.Closed')。

还试过这个:(在NetConnectEvent.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 个答案:

答案 0 :(得分:0)

NetConnection类有一个名为maxPeerConnections的属性,您应该可以将其设置为4(默认值为8)。这将使第5个传入连接甚至没有收到NetStream.Connect.Success,这是我认为你想要的

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetConnection.html#maxPeerConnections