当前位置: 首页>>代码示例>>C#>>正文


C# AtomCollection.SetHost方法代码示例

本文整理汇总了C#中AtomCollection.SetHost方法的典型用法代码示例。如果您正苦于以下问题:C# AtomCollection.SetHost方法的具体用法?C# AtomCollection.SetHost怎么用?C# AtomCollection.SetHost使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在AtomCollection的用法示例。


在下文中一共展示了AtomCollection.SetHost方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: PostHostInfo

 private void PostHostInfo(AtomCollection parent, Channel channel, bool playing)
 {
     var host = channel.SelfNode;
       var hostinfo = new AtomCollection();
       hostinfo.SetHostChannelID(channel.ChannelID);
       hostinfo.SetHostSessionID(PeerCast.SessionID);
       var globalendpoint = host.GlobalEndPoint;
       if (globalendpoint!=null) {
     hostinfo.AddHostIP(globalendpoint.Address);
     hostinfo.AddHostPort(globalendpoint.Port);
       }
       var localendpoint = host.LocalEndPoint;
       if (localendpoint!=null) {
     hostinfo.AddHostIP(localendpoint.Address);
     hostinfo.AddHostPort(localendpoint.Port);
       }
       hostinfo.SetHostNumListeners(channel.TotalDirects);
       hostinfo.SetHostNumRelays(channel.TotalRelays);
       hostinfo.SetHostUptime(channel.Uptime);
       if (channel.Contents.Count > 0) {
     hostinfo.SetHostOldPos((uint)(channel.Contents.Oldest.Position & 0xFFFFFFFFU));
     hostinfo.SetHostNewPos((uint)(channel.Contents.Newest.Position & 0xFFFFFFFFU));
       }
       PCPVersion.SetHostVersion(hostinfo);
       hostinfo.SetHostFlags1(
     (PeerCast.AccessController.IsChannelRelayable(channel) ? PCPHostFlags1.Relay : 0) |
     (PeerCast.AccessController.IsChannelPlayable(channel) ? PCPHostFlags1.Direct : 0) |
     ((!PeerCast.IsFirewalled.HasValue || PeerCast.IsFirewalled.Value) ? PCPHostFlags1.Firewalled : 0) |
     PCPHostFlags1.Tracker |
     (playing ? PCPHostFlags1.Receiving : PCPHostFlags1.None));
       parent.SetHost(hostinfo);
 }
开发者ID:psjp,项目名称:peercaststation,代码行数:32,代码来源:PCPYellowPageClient.cs

示例2: PostHostInfo

 private void PostHostInfo(AtomCollection parent, Channel channel, bool playing)
 {
     var hostinfo = new AtomCollection();
       hostinfo.SetHostChannelID(channel.ChannelID);
       hostinfo.SetHostSessionID(PeerCast.SessionID);
       var globalendpoint = PeerCast.GetGlobalEndPoint(AddressFamily.InterNetwork, OutputStreamType.Relay);
       if (globalendpoint!=null) {
     hostinfo.AddHostIP(globalendpoint.Address);
     hostinfo.AddHostPort(globalendpoint.Port);
       }
       var localendpoint = PeerCast.GetLocalEndPoint(AddressFamily.InterNetwork, OutputStreamType.Relay);
       if (localendpoint!=null) {
     hostinfo.AddHostIP(localendpoint.Address);
     hostinfo.AddHostPort(localendpoint.Port);
       }
       hostinfo.SetHostNumListeners(channel.TotalDirects);
       hostinfo.SetHostNumRelays(channel.TotalRelays);
       hostinfo.SetHostUptime(channel.Uptime);
       if (channel.Contents.Count > 0) {
     hostinfo.SetHostOldPos((uint)(channel.Contents.Oldest.Position & 0xFFFFFFFFU));
     hostinfo.SetHostNewPos((uint)(channel.Contents.Newest.Position & 0xFFFFFFFFU));
       }
       PCPVersion.SetHostVersion(hostinfo);
       var relayable = PeerCast.AccessController.IsChannelRelayable(channel);
       var playable  = PeerCast.AccessController.IsChannelPlayable(channel) && PeerCast.FindListener(remoteEndPoint.Address, OutputStreamType.Play)!=null;
       var firewalled = !PeerCast.IsFirewalled.HasValue || PeerCast.IsFirewalled.Value || PeerCast.FindListener(remoteEndPoint.Address, OutputStreamType.Relay)==null;
       hostinfo.SetHostFlags1(
     (relayable ? PCPHostFlags1.Relay : 0) |
     (playable ? PCPHostFlags1.Direct : 0) |
     (firewalled ? PCPHostFlags1.Firewalled : 0) |
     PCPHostFlags1.Tracker |
     (playing ? PCPHostFlags1.Receiving : PCPHostFlags1.None));
       parent.SetHost(hostinfo);
 }
开发者ID:peca-dev,项目名称:peercaststation,代码行数:34,代码来源:PCPYellowPageClient.cs


注:本文中的AtomCollection.SetHost方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。