由于我司需求,需要在iOS和安卓客户端实现DLNA投屏和控制。经过一番折腾,决定由我来研究DLNA。说起来又兴奋又紧张,兴奋希望自己能够弄出来然后跟安卓组讲解原理,紧张是因为怕自己能力不足做不出来。

DLNA网上的资料比较笼统不好入门,官方资料直接是每个1000多页的10几个PDF文档,根本无从下手。相关开源项目有名的有Platinum UPnP,但是由于它是基于C++实现的,相关文档并不全面。iOS相关开源项目都三四年没更新的,找来找去只好自己去啃自己去实现了。还好买到一本不错的书《智能家庭网络:技术、标准与应用实践》。通过近俩星期的研究,搞懂了DLNA核心协议UPnP基本逻辑,实现了投屏和控制功能的Demo。

下面就整理一下实现基本概念,实现过程和一些坑。

如果要直接看实现过程,请看以下三篇文章:

  • 基于DLNA实现iOS,Android投屏:SSDP发现设备
  • 基于DLNA实现iOS,Android投屏:SOAP控制设备

基于DLNA实现iOS、Android投屏相关推荐

  1. Android投屏方案(基于cling)

    一 .前言 最近做了一个浏览器&视频播放的项目,是在73.0.3683.90版本的chrome源码上修改而来,涉及到抓取网页里视频的播放地址.播放视频.视频投屏.视频下载.网页内广告屏蔽等方面 ...

  2. 基于DLNA实现iOS、Android投屏:基本概念

    http://geek.csdn.net/news/detail/58920 由于我司需求,需要在iOS和安卓客户端实现DLNA投屏和控制.经过一番折腾,决定由我来研究DLNA.说起来又兴奋又紧张,兴 ...

  3. 基于DLNA实现iOS,Android投屏:SSDP发现设备

    SSDP能够在局域网能简单地发现设备提供的服务.SSDP有两种发现方式:主动通知和搜索响应方式. 寻址 UPnP 技术是架构在 IP 网络之上.因此拥有一个网络中唯一的 IP 地址是 UPnP 设备正 ...

  4. linux 投屏软件,Scrcpy - Android投屏软件

    Scrcpy是一款开源的Android投屏软件,适用于大部分安卓设备.此应用程序可显示和控制通过USB(或通过TCP / IP)连接的Android设备.它不需要任何根访问权限.它可以在GNU/Lin ...

  5. ios设备投屏到mac_使用Mac和iOS设备提高工作效率

    ios设备投屏到mac I'm an Apple user, and somewhat a "fanboy", since when I bought my first mac i ...

  6. 在Ubuntu中安装Android投屏软件scrcpy

    文章目录 前言 1.安装 2.使用 3.scrcpy 常见使用 前言 在前面有介绍在win10中如何使用scrcpy进行Android投屏,之所以这样操作,是因为当我们手头开发板没有屏幕的时候,就可以 ...

  7. Android - 投屏工具 scrcpy

    引用 https://github.com/Genymobile/scrcpy 前言 在 App 开发过程当中,低头操作手机会很别扭,为了降低低头频率,有两种方法可以解决该问题: 在某宝上买一个手机支 ...

  8. android 投屏开发框架,Android DLNA投屏-基于CyberGarage开发投屏功能

    在上一篇博客<Android DLNA投屏-基本原理>中,讲到了DLNA的一些基本原理.了解这些基本原理,对开发是很有帮助的.但仅仅依据原理去进行Android DLNA开发,是比较困难的 ...

  9. android 投屏mac,MAC投屏ipad、手机

    原标题:MAC投屏ipad.手机 MAC投屏ipad.手机 投屏向来都是小屏幕投屏到大屏幕,但是AWIND奇机根据用户需求,有专门开发设备的AP广播功能,也就是将电脑屏幕投屏到大屏幕的同时广播到移动设 ...

最新文章

  1. 浅谈tidb事务与MySQL事务之间的区别
  2. python堆栈反向输出列表_python - IPython:将Python脚本的输出重定向到文件(如bash) - 堆栈内存溢出...
  3. 运算除法的计算机函数,2、Python基础--除法、常用数学函数(示例代码)
  4. python批量读取图片并复制入word_提取word文档中的图片并使用Python进行批量格式转换,出,Word,里,利用,python...
  5. 杭电1028Ignatius and the Princess III
  6. oracle数据库赋权_Oracle数据库权限
  7. 计算机文件夹操作有哪些,电脑操作常用的快捷键有哪些
  8. python 取余 韩信点兵_韩信点兵问题的神算法
  9. 基于Web的个人网页响应式页面设计与实现 HTML+CSS+JavaScript(web前端网页制作课作业)
  10. 未能加载文件或程序集“Newtonsoft.Json解决方法
  11. Spring框架——applicationContext.xml配置文件头部xmlns
  12. 解决调用wx.downLoadFile下载的文件名乱码(长串英文字符)问题
  13. html显示统计图数据模板_博客统计信息显示模板
  14. Oracle select表要带双引号的原因
  15. 获取其他APP中素材
  16. Go语言学习笔记-数组、切片、map
  17. 26.按之字形顺序打印二叉树
  18. 三十行代码教你做个通用文字识别程序
  19. Backend(Server)
  20. python 掷骰子游戏

热门文章

  1. 你了解Simulation中不同单元有何区别吗?
  2. unity烘焙过程与注意事项,希望你们少走弯路
  3. 网页Web上调用本地应用程序(.exe)
  4. React--高阶组件(HOC)
  5. 自己动手做QQ木马-----总序
  6. 基于SpringBoot与iOS(Swift)的电商平台设计
  7. python 自动交易接口是什么_基于Python的股票实盘交易接口的实现与应用
  8. 八成网民反对将北京译为“Peking”
  9. Kali 使用evillimiter限速主机带宽
  10. itunes与ipad无法连接怎么办