手机与PC的影音相互播放(DLNA/UPNP)

时间:2023-03-10 07:09:32
手机与PC的影音相互播放(DLNA/UPNP)

DLNA:全称是DIGITAL LIVING NETWORK ALLIANCE(数字生活网络联盟), 旨在解决个人PC,消费电器,移动设备在内的无线网络和有线网络的互联互通,使得数字媒体和内容服务的无限制的共享和增长成为可能。成立于2003 年6 月24 日, 其前身是DHWG (Digital Home Working Group 数字家庭工作组),在2017年1月15日正式解散。

UPNP:全名是Universal Plug and Play,愿景就是希望任何设备只要一接上网络,所有在网络上的设备马上就能知道有新设备加入,这些设备彼此之间能互相沟通,更能直接使用或控制它,一切都不需要设定,完全的Plug and Play。

UPnP 是各种各样的智能设备、无线设备和个人电脑等实现遍布全球的对等网络连接(P2P)的结构。UPnP 是一种分布式的,开放的网络架构。UPnP 是独立的媒介。UPnP 规范基于TCP/IP协议和针对设备彼此间通讯而制订的新的Internet协议。
计算机外设的即插即用(Plug and Play(缩写PnP)),UPnP功能可以使网关或路由器的NAT模块做自动端口映射,不建议开启,需要硬件与软件同时支持,在硬件不支持的情况下,对稳定性、转发性能的影响很大。

Win7及以上系统:

  1. 启动相关服务
net start SSDPSRV
net start upnphost
net start WMPNetworkSvc
  1. 打开Windows Media Player-->媒体流-->选项-->启用媒体流。

Android手机:

  • 全功能DLNA:安装MirageDLNA
  • DLNA播放器:如果只是播放PC的音视频文件,建议使用MOLIPLAYER(图片看不了,还支持Samba文件)。
  • DLNA服务端:安装MediaServer,【TW,图标为无线扇形,华为市场】,安装后,直接在WIN10我的电脑里出现。

建议

不要在无线PC上使用此功能,因为无线网络为共享型,不能全双工通信。最佳为:有线PC的服务端,无线手机的播放端。

无线通信中节点工作在全双工模式下需要克服功率强70~100dB的自干扰信号。在2011年之前,无线全双工被认为是不可能实现的。而现在,已经有实验室作出相关的原型设备可以工作在全双工状态下。但离商用(无线路由器)还很遥远。主要瓶颈在于信号带宽和通信距离。

=====================================================================

有线网络:802.3 i(10M)/u(100M)/z(1000M)/ba(40Gb/100Gb)
无线网络:802.11 a(5GHz 54M)/b(2.4GHz 11M)/g(2.4GHz 54M/108M)/n(2.4GHz 300M)/ac(5GHz 1G)/ad(60GHZ 7G,穿透力非常有限)

有线以太网设备必须采用载波侦听多路访问/冲突检测(CSMA/CD)方法来传输和接收以太网帧。
① 在共享的以太网网段上,PC以半双工模式工作,每台PC都可以先"发言",然后侦听是否同其他正在发言的设备发生冲突。很重要的是,整个检测冲突的过程是基于有线连接的最大长度,从网段的一端发送到另一端,检测到冲突之间的最大延迟是确定的。
②在全双工或交换型以太网链路上,不存在冲突或争取带宽的问题,但它们必须遵循相同的规范。例如,在全双工链路上,必须在预期的时间内发送或接收以太网帧,这要求全双工双绞线的最大长度与半双工链路相同。

虽然无线局域网也基于一组严格的标准,但无线介质本身难以控制,一般而言,当PC连接到有线网络时,与其共享网络连接的其他设备的数量是已知的,而当PC使用无线网络时,使用的传输介质为空气,由于接入层没有电缆和插口,因此,无法限制其他最终用户使用相同频率无线电波。——无线的难处本质在这里

无线局域网实际上是一种共享型网络,且争用相同频率电波的主机数量不是固定的。在无线局域网中,冲突犹如家常便饭,因为每条无线连接都是半双工模式的,IEEE 802.11 WLAN总是半双工模式的,因为传输站和接收站使用的频率相同。双方不能同时传输,否则将发生冲突。要实现全双工模式,必须在一个频率进行传输,在另一个频率进行接收,这类似于全双工以太网链路的工作原理,虽然这完全可行,但IEEE 802.11标准不允许采用全双工模式。

当多个无线工作站同时传输时,它们的信号将相互干扰,接收站收到的将是混乱的数据、噪声或错误信息。如果没有明确的方式来确定是否发生了冲突,传输站也无法知道发生了冲突,因为传输时将关闭其接收器,作为一个基本的反馈机制,每当无线工作站传输一帧后,接收工作站必须发送一个确认,确认已正确地收到该帧。——确认帧其实充当了基本的冲突检测工具,然而,它并不能预先防止冲突的发生。

IEEE 802.11标准使用一种名为载波侦听多路访问/冲突避免(CSMA/CA)的方法来避免冲突。注意,IEEE 802.3有线网络是检测冲突,而IEEE 802.11网络是尽可能避免冲突。

为实现冲突避免,要求所有工作站在传输每帧前进行侦听,当工作站有帧需要发送时,面临的将是下列情况之一:
① 没有其他设备在传输数据,工作站可立刻传输其帧,接收工作站必须发送一个确认帧,确认原始帧已在没有发生冲突的情况下到达。
② 另一台设备正在传输,工作站必须等待,等到当前帧传输完毕后,它再等待一段随机时间(这其实就体现了协议设计者的“CSMA/CA冲突避免”思想),然后传输自己的帧。

无线帧的长度不是固定的,一个工作站传输其帧时,其他工作站如何知道该帧已传输完毕,可以使用无线介质呢?显然,工作站可以进行侦听,等待静默期的到来,但这样做并非总是有效的,其他工作站也在侦听,可能同时决定开始传输。IEEE 802.11标准要求所有工作站在开始传输前等待一段时间,这段时间被称为DCF帧间间隔(DCF Interframe Space , DIFS)。

传输工作站可以在IEEE 802.11报头中包含一个持续时间值,以指出传输完当前帧所需的大概时间。持续时间值包含传输完当前帧所需要的时隙数(单位通常为毫秒),其他无线工作站必须查看持续时间值,并在考虑传输数据前等待相应的时间。由于每个侦听站在传输的帧中看到的持续时间值相同,因此它们都可能在这段时间过去后决定传输自己的帧,这可能导致冲突。所以,在实际中,除持续定时器外,每个无线工作站还必须实现一个随机后退定时器,传输帧之前,工作站必须选择一个要等待的随机时隙数,这个数字位于0和最大争用窗口值之间。——这里的基本思想不外乎是,准备传输的工作站必须等待一段随机时间,以减少试图立即传输的工作站数量。——这个过程就被称为抽象的术语“分布式协调功能(Distributed Coordination Function,DCF)”

手机与PC的影音相互播放(DLNA/UPNP)

三位无线用户都有一个帧需要发送,它们所需的时间各不相同。发生的情况如下所述。
① 用户A侦听并确定没有其他用户在传输,因此,传输自己的帧并通告持续时间。
② 用户B有一个帧需要传输,他必须等待用户A的帧传输完毕,再等待DIFS时间过去。
③ 用户B在传输前等待一段随机退避时间。
④ 在用户B等待期间,用户C有一个帧需要传输,他通过侦听发现没有人在传输,用户C等待一段随机时间,但比用户B的随机时间短。
⑤ 用户C传输一个帧,并通告其持续时间。
⑥ 用户B传输前必须等待该持续时间加上DIFS时间。

由于后退定时器是随机的,多台工作站仍可能选择相同的退避时间——看来协议设计者还是考虑到底了,因此,无法防止这些工作站同时传输数据,进而导致冲突。这样,在无线网络中将会出现传输错误,而接收站不会返回确认,为此发送站必须考虑重新发送其帧。

最后,工作站在其随机后退定时器过期后并准备传输数据时,如果发现有人正在传输,该如何办呢?它必须再等待当前正在传输的帧的持续时间、DIFS时间和随机后退时间。