UPnP 是各种各样的智能设备、无线设备和个人电脑等实现遍布全球的连接(P2P)的结构。UPnP 是一种分布式的,开放的网络架构。UPnP 是独立的媒介。在任何中,利用任何编程语言都可以使用 UPnP 设备。
UPnP 的应用范围非常大,以致足够可以实现许多现成的、新的及令人兴奋的方案,包括家庭自动化、、、 / 视频娱乐、设备、汽车网络和公共集会场所的类似网络。它可以充分发挥 和网络技术的功能,不但能对类似网络进行无缝连接,而且还能够控制网络设备及在它们之间传输信息。在 UPnP 架构中没有,取而代之的是普通协议。
UPnP 并不是周边设备模
型的简单扩展。在设计上,它支持0设置、网络连接过程“不可见”和自动查找众多供应商提供的多如繁星的设备的类型。换言之,一个 UPnP
设备能够自动跟一个网络连接上、并自动获得一个 IP
地址、传送出自己的权能并获悉其它已经连接上的设备及其权能。最后,此设备能自动顺利地切断网络连接,并且不会引起意想不到的问题。
UPnP 推动了因特网技术的发展,包括 、、、、和
等技术。在因特网上契约以有线应用协议为基础,而该协议是说明性的、利用 XML 进行表述和 HTTP 进行传输的。与此相同的是,UPnP
的明确设计目标就是提供这样的环境。再者,当成本、技术或经费等方面的因素阻止了在某种媒介里或接入其中的设备上运用 IP 时,UPnP 能够通过的方式提供非 IP 协议的媒体通道。UPnP 不会为应用程序指定 ,因此供应商们就可以自己创建 API 来满足客户的需求。
libupnp-1.3.1/upnp/sample/tvctrlpt/linux目录下Makefile
- BIN = tvctr
- CFLAGS += -I ../../common/ -I ../../../inc/ -I ../../../../ixml/inc/ -I ../../../../threadutil/inc/ -I ../
- LDFLAGS += -L ../../../.libs -L ../../../../ixml/.libs -L ../../../../threadutil/.libs
- LDLIBS += -lpthread -lupnp -lixml -lthreadutil
- SRCS=upnp_tv_ctrlpt_main.c \
- ../upnp_tv_ctrlpt.c \
- ../../common/sample_util.c
- $(BIN): $(SRCS)
- gcc $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LDLIBS)
- clean:
- rm -f $(BIN)
libupnp-1.3.1/upnp/sample/tvdevice/linux目录下Makefile
- BIN = tvdev
- CFLAGS += -I ../../common/ -I ../../../inc/ -I ../../../../ixml/inc/ -I ../../../../threadutil/inc/ -I ../
- LDFLAGS += -L ../../../.libs -L ../../../../ixml/.libs -L ../../../../threadutil/.libs
- LDLIBS += -lpthread -lupnp -lixml -lthreadutil
- SRCS = upnp_tv_device_main.c \
- ../upnp_tv_device.c \
- ../../common/sample_util.c
- $(BIN): $(SRCS)
- gcc $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LDLIBS)
- clean:
- rm -f $(BIN)
阅读(4283) | 评论(1) | 转发(0) |