0

假设我已经有 4 个对等点连接到发布者,我想删除新的连接(用于游戏开发的东西,比如玩家)。

我试过这个:

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

它不传输数据,而是告诉订阅者“NetStream.Connect.Success”(期待“NetStream.Connect.Failed”或“NetStream.Connect.Closed”)。

也试过这个:(在 NetConnection 类的 NetStatusEvent.NET_STATUS 监听器)

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) //
  ................

它关闭了该连接,但在此之前发布者可以发送一些我不喜欢的数据(音频、视频、用户)。

有任何想法吗?

4

1 回答 1

0

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

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

于 2013-07-16T23:55:56.437 回答