Suche senden
Hochladen
UPnP 1.0 簡介
•
8 gefällt mir
•
3,679 views
Wen Liao
Folgen
UPnP 1.0 簡介,歡迎debug * 20150612: Fix typo
Weniger lesen
Mehr lesen
Software
Melden
Teilen
Melden
Teilen
1 von 93
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
Mr. Vengineer
PGI CUDA FortranとGPU最適化ライブラリの一連携法
PGI CUDA FortranとGPU最適化ライブラリの一連携法
智啓 出川
C#, C/CLI と CUDAによる画像処理ことはじめ
C#, C/CLI と CUDAによる画像処理ことはじめ
NVIDIA Japan
Vyatta 改造入門
Vyatta 改造入門
Masakazu Asama
第12回 配信講義 計算科学技術特論B(2022)
第12回 配信講義 計算科学技術特論B(2022)
RCCSRENKEI
GPGPU Seminar (GPU Accelerated Libraries, 1 of 3, cuBLAS)
GPGPU Seminar (GPU Accelerated Libraries, 1 of 3, cuBLAS)
智啓 出川
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
VirtualTech Japan Inc.
CXL_説明_公開用.pdf
CXL_説明_公開用.pdf
Yasunori Goto
Empfohlen
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
Mr. Vengineer
PGI CUDA FortranとGPU最適化ライブラリの一連携法
PGI CUDA FortranとGPU最適化ライブラリの一連携法
智啓 出川
C#, C/CLI と CUDAによる画像処理ことはじめ
C#, C/CLI と CUDAによる画像処理ことはじめ
NVIDIA Japan
Vyatta 改造入門
Vyatta 改造入門
Masakazu Asama
第12回 配信講義 計算科学技術特論B(2022)
第12回 配信講義 計算科学技術特論B(2022)
RCCSRENKEI
GPGPU Seminar (GPU Accelerated Libraries, 1 of 3, cuBLAS)
GPGPU Seminar (GPU Accelerated Libraries, 1 of 3, cuBLAS)
智啓 出川
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
VirtualTech Japan Inc.
CXL_説明_公開用.pdf
CXL_説明_公開用.pdf
Yasunori Goto
Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...
Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...
milk hanakara
1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門
NVIDIA Japan
はじめてのdocker
はじめてのdocker
at grandpa
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!
Mr. Vengineer
Deep sets
Deep sets
Tomohiro Takahashi
複数台のKinectV2の使い方
複数台のKinectV2の使い方
Norishige Fukushima
1072: アプリケーション開発を加速するCUDAライブラリ
1072: アプリケーション開発を加速するCUDAライブラリ
NVIDIA Japan
無料で仮想Junos環境を手元に作ろう
無料で仮想Junos環境を手元に作ろう
akira6592
自宅サーバ仮想化
自宅サーバ仮想化
anubis_369
[Container Runtime Meetup] runc & User Namespaces
[Container Runtime Meetup] runc & User Namespaces
Akihiro Suda
2015年度GPGPU実践プログラミング 第7回 総和計算
2015年度GPGPU実践プログラミング 第7回 総和計算
智啓 出川
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像
Sho Shimizu
fpgax #13.pptx
fpgax #13.pptx
YNLP6m
Zynq MPSoC勉強会 Codec編
Zynq MPSoC勉強会 Codec編
Tetsuya Morizumi
Xenとzfsで作る家庭内VDIサーバ
Xenとzfsで作る家庭内VDIサーバ
zgock
20180723 PFNの研究基盤 / PFN research system infrastructure
20180723 PFNの研究基盤 / PFN research system infrastructure
Preferred Networks
情報統計力学のすすめ
情報統計力学のすすめ
Naoki Hayashi
LLVM 總是打開你的心:從電玩模擬器看編譯器應用實例
LLVM 總是打開你的心:從電玩模擬器看編譯器應用實例
National Cheng Kung University
量子コンピュータの基礎から応用まで
量子コンピュータの基礎から応用まで
QunaSys
不揮発メモリ(NVDIMM)とLinuxの対応動向について
不揮発メモリ(NVDIMM)とLinuxの対応動向について
Yasunori Goto
GNU AS簡介
GNU AS簡介
Wen Liao
GNU ld的linker script簡介
GNU ld的linker script簡介
Wen Liao
Weitere ähnliche Inhalte
Was ist angesagt?
Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...
Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...
milk hanakara
1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門
NVIDIA Japan
はじめてのdocker
はじめてのdocker
at grandpa
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!
Mr. Vengineer
Deep sets
Deep sets
Tomohiro Takahashi
複数台のKinectV2の使い方
複数台のKinectV2の使い方
Norishige Fukushima
1072: アプリケーション開発を加速するCUDAライブラリ
1072: アプリケーション開発を加速するCUDAライブラリ
NVIDIA Japan
無料で仮想Junos環境を手元に作ろう
無料で仮想Junos環境を手元に作ろう
akira6592
自宅サーバ仮想化
自宅サーバ仮想化
anubis_369
[Container Runtime Meetup] runc & User Namespaces
[Container Runtime Meetup] runc & User Namespaces
Akihiro Suda
2015年度GPGPU実践プログラミング 第7回 総和計算
2015年度GPGPU実践プログラミング 第7回 総和計算
智啓 出川
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像
Sho Shimizu
fpgax #13.pptx
fpgax #13.pptx
YNLP6m
Zynq MPSoC勉強会 Codec編
Zynq MPSoC勉強会 Codec編
Tetsuya Morizumi
Xenとzfsで作る家庭内VDIサーバ
Xenとzfsで作る家庭内VDIサーバ
zgock
20180723 PFNの研究基盤 / PFN research system infrastructure
20180723 PFNの研究基盤 / PFN research system infrastructure
Preferred Networks
情報統計力学のすすめ
情報統計力学のすすめ
Naoki Hayashi
LLVM 總是打開你的心:從電玩模擬器看編譯器應用實例
LLVM 總是打開你的心:從電玩模擬器看編譯器應用實例
National Cheng Kung University
量子コンピュータの基礎から応用まで
量子コンピュータの基礎から応用まで
QunaSys
不揮発メモリ(NVDIMM)とLinuxの対応動向について
不揮発メモリ(NVDIMM)とLinuxの対応動向について
Yasunori Goto
Was ist angesagt?
(20)
Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...
Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...
1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門
はじめてのdocker
はじめてのdocker
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!
Deep sets
Deep sets
複数台のKinectV2の使い方
複数台のKinectV2の使い方
1072: アプリケーション開発を加速するCUDAライブラリ
1072: アプリケーション開発を加速するCUDAライブラリ
無料で仮想Junos環境を手元に作ろう
無料で仮想Junos環境を手元に作ろう
自宅サーバ仮想化
自宅サーバ仮想化
[Container Runtime Meetup] runc & User Namespaces
[Container Runtime Meetup] runc & User Namespaces
2015年度GPGPU実践プログラミング 第7回 総和計算
2015年度GPGPU実践プログラミング 第7回 総和計算
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像
fpgax #13.pptx
fpgax #13.pptx
Zynq MPSoC勉強会 Codec編
Zynq MPSoC勉強会 Codec編
Xenとzfsで作る家庭内VDIサーバ
Xenとzfsで作る家庭内VDIサーバ
20180723 PFNの研究基盤 / PFN research system infrastructure
20180723 PFNの研究基盤 / PFN research system infrastructure
情報統計力学のすすめ
情報統計力学のすすめ
LLVM 總是打開你的心:從電玩模擬器看編譯器應用實例
LLVM 總是打開你的心:從電玩模擬器看編譯器應用實例
量子コンピュータの基礎から応用まで
量子コンピュータの基礎から応用まで
不揮発メモリ(NVDIMM)とLinuxの対応動向について
不揮発メモリ(NVDIMM)とLinuxの対応動向について
Andere mochten auch
GNU AS簡介
GNU AS簡介
Wen Liao
GNU ld的linker script簡介
GNU ld的linker script簡介
Wen Liao
Hello world在那邊?背景說明
Hello world在那邊?背景說明
Wen Liao
GNU Make, Autotools, CMake 簡介
GNU Make, Autotools, CMake 簡介
Wen Liao
from Source to Binary: How GNU Toolchain Works
from Source to Binary: How GNU Toolchain Works
National Cheng Kung University
Trace 程式碼之皮
Trace 程式碼之皮
Wen Liao
How A Compiler Works: GNU Toolchain
How A Compiler Works: GNU Toolchain
National Cheng Kung University
From Home Enabled Personal Media To Instant Personal Media Sharing
From Home Enabled Personal Media To Instant Personal Media Sharing
guest829cce0
康軒中自二下Ppt經典款ch5 3實驗
康軒中自二下Ppt經典款ch5 3實驗
fbw41598
康軒中自二下Ppt經典款ch5 2
康軒中自二下Ppt經典款ch5 2
fbw41598
康軒中自二下Ppt經典款ch1 1
康軒中自二下Ppt經典款ch1 1
fbw41598
Guide to GStreamer Application Development Manual: CH1 to CH10
Guide to GStreamer Application Development Manual: CH1 to CH10
Wen Liao
Testing in python 2.7.3
Testing in python 2.7.3
Wen Liao
康軒中自二下Ppt經典款ch5重點整理
康軒中自二下Ppt經典款ch5重點整理
fbw41598
What Can Compilers Do for Us?
What Can Compilers Do for Us?
National Cheng Kung University
GNU gettext簡介 - 以C語言為範例
GNU gettext簡介 - 以C語言為範例
Wen Liao
康軒中自二下Ppt經典款ch6科普閱讀up
康軒中自二下Ppt經典款ch6科普閱讀up
fbw41598
故事:自由軟體和 Richard Stallman
故事:自由軟體和 Richard Stallman
Wen Liao
康軒中自二下Ppt經典款ch6重點整理
康軒中自二下Ppt經典款ch6重點整理
fbw41598
A Brief Introduction to Regular Expression with Python 2.7.3 Standard Library
A Brief Introduction to Regular Expression with Python 2.7.3 Standard Library
Wen Liao
Andere mochten auch
(20)
GNU AS簡介
GNU AS簡介
GNU ld的linker script簡介
GNU ld的linker script簡介
Hello world在那邊?背景說明
Hello world在那邊?背景說明
GNU Make, Autotools, CMake 簡介
GNU Make, Autotools, CMake 簡介
from Source to Binary: How GNU Toolchain Works
from Source to Binary: How GNU Toolchain Works
Trace 程式碼之皮
Trace 程式碼之皮
How A Compiler Works: GNU Toolchain
How A Compiler Works: GNU Toolchain
From Home Enabled Personal Media To Instant Personal Media Sharing
From Home Enabled Personal Media To Instant Personal Media Sharing
康軒中自二下Ppt經典款ch5 3實驗
康軒中自二下Ppt經典款ch5 3實驗
康軒中自二下Ppt經典款ch5 2
康軒中自二下Ppt經典款ch5 2
康軒中自二下Ppt經典款ch1 1
康軒中自二下Ppt經典款ch1 1
Guide to GStreamer Application Development Manual: CH1 to CH10
Guide to GStreamer Application Development Manual: CH1 to CH10
Testing in python 2.7.3
Testing in python 2.7.3
康軒中自二下Ppt經典款ch5重點整理
康軒中自二下Ppt經典款ch5重點整理
What Can Compilers Do for Us?
What Can Compilers Do for Us?
GNU gettext簡介 - 以C語言為範例
GNU gettext簡介 - 以C語言為範例
康軒中自二下Ppt經典款ch6科普閱讀up
康軒中自二下Ppt經典款ch6科普閱讀up
故事:自由軟體和 Richard Stallman
故事:自由軟體和 Richard Stallman
康軒中自二下Ppt經典款ch6重點整理
康軒中自二下Ppt經典款ch6重點整理
A Brief Introduction to Regular Expression with Python 2.7.3 Standard Library
A Brief Introduction to Regular Expression with Python 2.7.3 Standard Library
Mehr von Wen Liao
Hello world 的一生
Hello world 的一生
Wen Liao
Notes on oracle solaris 11.3 linkers and libraries guide chapter one
Notes on oracle solaris 11.3 linkers and libraries guide chapter one
Wen Liao
開放街圖 自助旅行的好幫手
開放街圖 自助旅行的好幫手
Wen Liao
A successful git branching model 導讀
A successful git branching model 導讀
Wen Liao
淺談Debian套件打包
淺談Debian套件打包
Wen Liao
從組裝軟體中談談軟體發展管理
從組裝軟體中談談軟體發展管理
Wen Liao
軟體組裝心得分享
軟體組裝心得分享
Wen Liao
Introduce to Linux command line
Introduce to Linux command line
Wen Liao
Mehr von Wen Liao
(8)
Hello world 的一生
Hello world 的一生
Notes on oracle solaris 11.3 linkers and libraries guide chapter one
Notes on oracle solaris 11.3 linkers and libraries guide chapter one
開放街圖 自助旅行的好幫手
開放街圖 自助旅行的好幫手
A successful git branching model 導讀
A successful git branching model 導讀
淺談Debian套件打包
淺談Debian套件打包
從組裝軟體中談談軟體發展管理
從組裝軟體中談談軟體發展管理
軟體組裝心得分享
軟體組裝心得分享
Introduce to Linux command line
Introduce to Linux command line
UPnP 1.0 簡介
1.
Wen Liao UPnP 1.0
簡介 台北市
2.
Disclaimer 投影片資料為作者整理資料及個人意見,沒有經 過嚴謹確認,請讀者自行斟酌
3.
測試環境
4.
測試環境
5.
測試環境
6.
7.
測試環境
8.
關於UPnP ● Universal Plug
and Play ○ 一種網路通訊協定 ○ 目的:萬用遙控器 ■ 不用安裝Driver ■ 不用安裝指定的軟體 ■ 適用於所有支援UPnP的設備
9.
萬用遙控器?? http://en.wikipedia.org/wiki/File:Remote_controls.JPG
10.
萬用遙控器要處理的問題 ● 以家電的遙控器比喻 ○ 每個家電按鈕不同,功能不同,使用方式不同 ■
就算同一種家電,不同廠牌,甚至同廠牌不同型號 一樣有相同的問題 ○ 要怎麼知道現在有那幾台設備可以用? ■ A牌電風扇 ■ B牌播放器 ■ C牌電燈 ○ 要怎麼知道設備狀態?
11.
每個家電按鈕不同,功能不同,使用方式 不同 ● 大家講好規矩 ● 主導者:UPnP
forum ■ 很多大頭 ○ 規範Device control protocols ■ AV ■ 電燈控制 ■ 印表機 ■ …
12.
要怎麼知道現在有那幾台設備可以用? ● 遙控器大喊一聲看誰答話 ● 設備有事沒事跟大家說我還活著,以及提供的 服務
13.
要怎麼知道設備狀態? ● 遙控器直接問 ● 遙控器告訴設備說哪些狀態更動的時候要跟 我說,如 ○
播放器更動播放內容 ○ ...
14.
觀念 ● 整個控制可以分成兩個角色 ○ 遙控器 ○
設備 ● 遙控器的按鈕,可以看成呼叫服務 ○ 將溫度設定成25度 ○ 切到下一個頻道 ● 接樓上,所以這是一個遠端呼叫的概念。洋人 的話就是remote procedure call,簡稱RPC
15.
進入正題
16.
正名 ● Control point ○
你的遙控器啦 ● Device ○ 被遙控的東西
17.
UPnP Networks Steps Addressing Discover Description Event Presentation http://upnp.org/sdcps-and-certification/standards/device-architecture-documents/ Control
18.
什麼鬼?請講中文好嘛?
19.
講中文:Control point篇 ● 知道自己在那邊。(跳過Auto
IP,一言難盡) ● 先知道自己是啥,以媒體播放器(media render)為例 ○ 問看看網路上有沒有媒體播放器,有的請發聲 ○ 當然不是問完以後就沒事,搞不好上線後十三分鐘後 有另外一個媒體播放器上線,你也得知道吧? ● 從剛才報數的媒體播放器中知道他有提供哪 些服務。 ● 開工如訂閱媒體播放器的播放狀態、播放影 片,調整音量等 ● Presentation呢?沒這東西(煙)
20.
講中文:Device篇 ● 知道自己在那邊。(跳過Auto IP,一言難盡) ●
先知道自己是啥,以媒體播放器(media render)為例 ○ 定期公佈,告訴大家,我是是媒體播放器唷。以下是我 的服務... ○ 有人來問你是不是媒體播放器要回答我是 ● 開工如處理播放影片,調整音量,接受訂閱 event當trigger時通知control point等 ● Presentation呢?看實作,有的話,你可以用瀏 覽器連上去更改一些設定
21.
名詞 ● HTTP ○ Hypertext
Transfer Protocol ● HTTPU ○ U就是UDP ● HTTPMU ○ M是Multicast ○ U還是UDP ● HTTPD ○ Daemon ,就是web server
22.
名詞 ● SSDP ○ Simple
Service Discovery Protocol ● SOAP ○ Simple Object Access protocol ● GENA ○ General Event Notification Architecture
23.
無聊的方塊圖 TCP IP UDP HTTP HTTPU HTTPMU SOAP
GENA HTTPD SSDP UPnP Device Architecture Device Control Protocols APP/Libraries http://upnp.org/sdcps-and-certification/standards/device-architecture-documents/
24.
無聊的方塊圖 TCP IP UDP HTTP HTTPU HTTPMU SOAP
GENA HTTPD SSDP UPnP Device Architecture Device Control Protocols APP/Libraries 使用XML描述呼叫 遠端服務以及回傳 的結果 http://upnp.org/sdcps-and-certification/standards/device-architecture-documents/
25.
無聊的方塊圖 TCP IP UDP HTTP HTTPU HTTPMU SOAP
GENA HTTPD SSDP UPnP Device Architecture Device Control Protocols APP/Libraries 註冊要監聽的event以 及當event被觸發回傳 使用的通訊協定 http://upnp.org/sdcps-and-certification/standards/device-architecture-documents/
26.
無聊的方塊圖 TCP IP UDP HTTP HTTPU HTTPMU SOAP
GENA HTTPD SSDP UPnP Device Architecture Device Control Protocols APP/Libraries Device有設定Presentation URL的話總要有個提供網 頁的web server吧? http://upnp.org/sdcps-and-certification/standards/device-architecture-documents/
27.
無聊的方塊圖 TCP IP UDP HTTP HTTPU HTTPMU SOAP
GENA HTTPD SSDP UPnP Device Architecture Device Control Protocols APP/Libraries 通知大家 ● Control point: ○ 哪邊有「我要的服務」的device?有的話 該一聲 ● Device ○ 我還沒死 ○ 我要閃人了 http://upnp.org/sdcps-and-certification/standards/device-architecture-documents/
28.
無聊的方塊圖 TCP IP UDP HTTP HTTPU HTTPMU SOAP
GENA HTTPD SSDP UPnP Device Architecture Device Control Protocols APP/Libraries Device 回應 control point的詢問 http://upnp.org/sdcps-and-certification/standards/device-architecture-documents/
29.
沒fu? 來看範例
30.
Step 1: Control point
找到 Device
31.
場景一:Device 自行宣傳
32.
33.
6個封包?那6個? ● UPnP規範,device 自我宣傳要有 ○
3個root device ○ 任意個embedded device (不討論) ○ 任意個service
34.
來看封包: 淺紅底文字的是發送端封包 內容
35.
Notification type Device advertisement:
root device (1) Notification sub type Unique service name Root device description URL!
36.
Device advertisement: root
device (2) UUID
37.
Device advertisement: root
device (3) device type
38.
Device advertisement: AVT
service
39.
Device advertisement: CM
service
40.
Device advertisement: RCS
service
41.
場景二:Control point自 己問
42.
43.
44.
Control point Device
45.
先看Control Point封包
46.
等待秒數 Search type: 這邊全找,也可以指定 特定type
47.
插花:指名MediaServer和 MediaRender坐檯 (各一個封包)
48.
再看Device response
49.
Device response順序和 自我宣傳差別只有NT換 成ST以及沒有NTS描述 ● NT:
Notification type ● ST: Service type ● NTS: Notification sub type
50.
Service type Device response:
root device (1)
51.
Device response: root
device (2)
52.
Device response: root
device (3)
53.
Device response: AVT
service
54.
Device response: CM
service
55.
Device response: RCS
service
56.
場景三:Device 離線
57.
基本上就是把場景一的keep alive換成 byebye。另外有規範要送超過兩次以避 免漏掉。 Device offline:
root device (1)
58.
Device offline: root
device (2)
59.
Device offline: root
device (3)
60.
Device offline: AVT
Service
61.
Device offline: CM
Service
62.
Device offline: RCS
Service
63.
Step 2: Control point 取得
Device資訊
64.
很簡單,前面的封包都 有Location URL。 用瀏覽器開一下吧
65.
UPnP 架構版號Device 描述
66.
UPnP 架構版本
67.
Device描述 ● 設備類型 ● 產品資訊 ●
辨別UUID ● 提供服務 ● ….
68.
提供Icon給control point使用
69.
70.
提供的服務:AVT, CM, RCS
71.
服務提供的資訊 Type 和ID使用UPnP 定的標準要遵守規範
72.
服務提供的資訊 真正描述提供服務的 地方
73.
服務提供的資訊 你要送命令的URL
74.
服務提供的資訊 c 訂閱要監聽event的 URL
75.
有Action name和paramter,像不像 function call啊? 開啟scpd.xml
URL
76.
來看封包: 淺紅底文字的是發送端封包 內容 淺藍底文字的是接收端 封包內容
77.
Control point取得 Location
URL HTTP GET HTTP Response Device description
78.
Control point取得AVT的服務描述 HTTP GET HTTP
Response Device description
79.
device 服 務 視 覺 化
80.
Step 3: Control point
控制 Device
81.
以GetTransportInfo為例 參數 Instance ID 回傳目前 state、status和 播放速度
82.
按下這個送出request 後的畫面
83.
來看封包: 淺紅底文字的是發送端封包 內容 淺藍底文字的是接收端 封包內容
84.
看封包時間:Contronl point的action Post到描述XML指定的control URL Action
name 參數: Instance ID:0
85.
看封包時間:Device repsonse 回傳state為Stop 回傳狀態為OK 播放速度為1
86.
Step 3: Control point
取得 Device event資訊
87.
直接看封包: 淺紅底文字的是發送端封包 內容 淺藍底文字的是接收端 封包內容
88.
Control point 訂閱監聽事件 告訴Device
event要往那 邊送 Subscription ID 還記得EventSubURL嗎?
89.
Device 送出event,Control point回應 Subscription
ID和上 頁相同 資料變動
90.
Device 停止播放送出event,Control point回應 資料變動 Subscription ID和上 頁相同
91.
Control point可以放棄註冊 還記得EventSubURL嗎? 要unsubscribe的 ID
92.
總結 ● UPnP 提供預先定義好的規範,讓不同的是設 備不需要驅動程式,特殊軟體就可以透過網路 操作 ●
UPnP透過SSDP讓control point能夠找出網路 的Device ● UPnP透過GENA讓control point能夠被動接受 device送出來的事件
93.
參考資料 ● UPnP Forum
文件 ○ 包含MediaRender
Jetzt herunterladen