GroupSpecifier部分介绍

 

GroupSpecifier class用户构造不透明的字符"groupspecs”传递给NetStream和NetGroup构造器,一个"groupspecs”指定一个个对等的RTMFP,包括功能,限制和授权用户使用"groupspecs”,默认情况下,所有功能缺省不能用,但是允许点对点的连接

  RTMFP组内邻居有以下方面介绍:

   。服务器通道自动引导

       当一个用户连接上一个RTMFP,服务端引导它加入所在的组,要启动自动引导,设置GroupSpecifier.serverChannelEnabled=true

  。明确peerID交换

     两个或者更多共享者通过peerIDs传递信息,它们多种方式交换信息方式通过web services告诉其它人

  。局域网端共享者的发现

    用GroupSpecifier class的局域网网内查找,局域网共享者着允许服务端到客户端的RTMFP连接,他的NetSream和NetGroup独享自动定位共享者和假如组在当前子网,共享者不能在局域网内被发现除非它们在同一个组,如果共享着匹配groupspecs但在不同的子网,没有错误或者其它事件产生假如他们没有发现彼此

下面的代码显示了怎么让局域网的共享者发现彼此,这个代码可能卸载一个回调函数里面

var nc = new NetConnection();
// 协议必须是RTMFP
nc.connect("rtmfp://localhost/appname");
var gs = new GroupSpecifier("discovery-test");
// 允许局域网用户发现彼此
gs.ipMulticastMemberUpdatesEnabled = true;
//共享者交换的组播地址
gs.addIPMulticastAddress("224.0.0.255:30000");
// 组播流
gs.multicastEnabled = true;
var ns = new NetStream(nc, gs.toString());
 

GroupSpecifier constructor

   new GroupSpecifier(name:String)

   建立一个GroupSpecifier对象,缺省情况下,所有功能禁止,但是点对点的连接是允许的

   参数:name 一个组的名字,所有用户通过这个名字加入组

   返回:一个GroupSpecifier对象假如成功如果name为空或者没有,将抛出javascript错误
   例子:下面的列子建立一个GroupSpecifier对象,这个组建立允许组播和发送消息,这个组允许服务端通道

var groupSpecifier = new GroupSpecifier("com.example.someapp");
groupSpecifier.multicastEnabled = true;
groupSpecifier.postingEnabled = true;
groupSpecifier.serverChannelEnabled = true;

 

GroupSpecifier.addIPMulticastAddress()
groupSpecifier.addIPMulticastAddress(address, port)

  导致相连的NetStream和NetGroup假如Ip组播群和接受UDP端口数据


GroupSpecifier.addBootstrapPeer()

  groupSpecifier.addBootstrapPeer(peerID)

 导致关联的NetStream和NetGroup初始化相连的连接连接到PeerID

   address: 一个加入组播的IPv4或者IPv6的地址,后面可以加上(:)和端口号,

   port 一个数字,一个udp端口号接受组播数据,如果端口为空,端口必须在address后面,否则UDP端口不被指定

GroupSpecifier.authorizations()
groupSpecifier.authorizations()

  返回一个密码字符串,是组播发布的密码

GroupSpecifier.encodeBootstrapPeerIDSpec()

groupSpecifier.encodeBootstrapPeerIDSpec(peerID)

  编码和返回一个字符串,表示一个引导的peerID,假如把这个字符串添加到组,相连的netStream和netGroup初始化连接到peerId

GroupSpecifier.encodeIPMulticastAddressSpec()

groupSpecifier.encodeIPMulticastAddressSpec(address, port)

编码和返回一个Ip和socket地址,如果你添加这个字符串到组,相连的NetStream和NetGroup将假如这个ip组播和监听这个UDP端口

  address:地址,port端口

GroupSpecifier.encodePostingAuthorization()

groupSpecifier.encodePostingAuthorization(password)

  编码和返回一个字符串密码,当你发送密码,你能连接到组然后发送

  password发送的密码

GroupSpecifier.encodePublishAuthorization()

  groupSpecifier.encodePublishAuthorization(password)

  编码和返回一个字符串发送密码,当组播发送这个保护密码,你能够连接连接组和发送

GroupSpecifier.groupSpecWithAuthorizations()

groupSpecifier.groupSpecWithAuthorizations()

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值