IRC和IRF有啥区别吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IRC和IRF有啥区别吗?相关的知识,希望对你有一定的参考价值。
参考技术A IRC的工作原理非常简单,您只要在自己的PC上运行客户端软件,然后通过因特网以IRC协议连接到一台IRC服务器上即可。它的特点是速度非常之快,聊天时几乎没有延迟的现象,并且只占用很小的带宽资源。所有用户可以在一个被称为\"Channel\"(频道)的地方就某一话题进行交谈或密谈。每个IRC的使用者都有一个Nickname(昵称),所有的沟通就在他们所在的Channel内以不同的Nickname进行交谈。在使用上,IRF和传统的三层堆叠技术有一点类似。简单来说,就是支持IRF的多台交换设备可以互相连接起来形成一个“联合设备”,我们将这台“联合设备”称为一个Fabric,而将组成Fabric的每个设备称为一个Unit。多个Unit组成Fabric后,无论在管理还是在使用上,就成为了一个整体。也就是说,用户可以将这多台设备看成一台单一设备进行管理和使用。这样既可以通过增加设备来扩展端口数量和交换能力,同时也通过多台设备之间的互相备份增强了设备的可靠性。
使用 AVPlayer、AVPlayerItem 和 AVPlayerAsset 有啥区别吗?
【中文标题】使用 AVPlayer、AVPlayerItem 和 AVPlayerAsset 有啥区别吗?【英文标题】:Is there any difference between using AVPlayer, AVPlayerItem, and AVPlayerAsset?使用 AVPlayer、AVPlayerItem 和 AVPlayerAsset 有什么区别吗? 【发布时间】:2020-10-16 09:51:18 【问题描述】:我找到了用 URL 播放视频的三种方法。
let url = "some url"
// first way
AVPlayer(url: url)
// second way
let playerItem = AVPlayerItem(url: url)
AVPlayer(playerItem: playerItem)
// third way
let asset = AVAsset(url: url)
let playerItem = AVPlayerItem(asset: asset)
AVPlayer(playerItem: playerItem)
以上这些有什么区别吗?
【问题讨论】:
【参考方案1】:来自AVPlayer.init(url:)
的文档
此方法隐式创建一个
AVPlayerItem
对象。您可以使用currentItem
获取播放器项目。
所以我们知道,当您使用第一种方式时,在后台会发生与第二种方式类似的事情 - 将使用您指定的 URL 创建一个 AVPlayerItem
。所以第一种方式和第二种方式是一样的。
虽然文档没有明确说明这一点,但我很确定 AVPlayerItem.init(url:)
也会使用您指定的 URL 创建一个 AVAsset
,因为 AVPlayerItem
是:
一个对象,用于对玩家播放的资产的时间和呈现状态进行建模。
措辞表明,如果没有AVAsset
,就不能拥有AVPlayerItem
。事实上,AVPlayerItem.asset
是一个非可选属性。所以你真的需要一个AVAsset
来创建一个AVPlayerItem
。再加上 AVPlayerItem.init(url:)
是一个便利的初始化程序,init(asset:automaticallyLoadedAssetKeys:)
是指定的初始化程序,我很确定 AVPlayerItem.init(url:)
也会在后台创建一个 AVAsset
。
如果你想知道为什么 AVPlayer.init(playerItem:)
和 AVPlayerItem.init(asset:)
存在,而这三种方式无论如何都做同样的事情,它们适用于当你碰巧使用 AVPlayerItem
s 时,你想创建一个 @987654343 @,当你恰好在使用AVAsset
s 时,你想创建一个AVPlayerItem
。
【讨论】:
以上是关于IRC和IRF有啥区别吗?的主要内容,如果未能解决你的问题,请参考以下文章
RenderPartial 和 RenderPage 之间有啥区别吗? [复制]
Observable 和 Future.get 之间有啥区别吗