/// <summary> /// 指定したパケットを含むブロードキャストパケットを作成します /// </summary> /// <param name="group">配送先グループ</param> /// <param name="packet">配送するパケット</param> /// <returns>作成したPCP_BCSTパケット</returns> public virtual Atom CreateBroadcastPacket(BroadcastGroup group, Atom packet) { var bcst = new AtomCollection(); bcst.SetBcstFrom(PeerCast.SessionID); bcst.SetBcstGroup(group); bcst.SetBcstHops(0); bcst.SetBcstTTL(11); bcst.SetBcstVersion(PCP_VERSION); bcst.SetBcstVersionVP(PCP_VERSION_VP); bcst.SetBcstChannelID(Channel.ChannelID); bcst.Add(packet); return(new Atom(Atom.PCP_BCST, bcst)); }
private void PostChannelBcst(Channel channel, bool playing) { var bcst = new AtomCollection(); bcst.SetBcstTTL(1); bcst.SetBcstHops(0); bcst.SetBcstFrom(PeerCast.SessionID); bcst.SetBcstVersion(PCP_VERSION); bcst.SetBcstVersionVP(PCP_VERSION_VP); bcst.SetBcstChannelID(channel.ChannelID); bcst.SetBcstGroup(BroadcastGroup.Root); PostChannelInfo(bcst, channel); PostHostInfo(bcst, channel, playing); lock (posts) posts.Add(new Atom(Atom.PCP_BCST, bcst)); }