如何实现W5200E01-M3中的UPnP(通用即插即用) 端口转发(三)
0赞
发表于 2012/6/26 10:00:50
阅读(1585)
大家好,前面我们为大家分享了如何实现W5200E01-M3中的UPnP(通用即插即用) 端口转发(二),今天继续为大家分享最后一部分,希望对大家有帮助~
4. 预设置
4.1 局限性
我们不支持AutoIP。在本文的应用说明和基于W5200的模型中,DHCP是获取IP地址的唯一途径。
我们不支持设备广告。在本文的应用说明和基于W5200的模型中,广播寻找是搜索UPnP设备的唯一方法。同时,多余的通告信息将不被识别。
W5200单片机扮演了UPnP控制指针的角色,它实际上不需要嵌入网络服务器。网络服务器在UPnP设备中是不可缺少的。在这篇应用手册和基于W5200的模型中,不支持事件表达。
4.2 设置
IGD必须提前使能DHCP和UPnP功能。
5. 使用举例
用户必须按照下面的网络构造来执行UPnP端口发送。
注意: 默认状态下,本文添加了内部IP:4321 外部 IP: 1234的端口映射
通过图5,我们可以看到如下的应用过程:
DHCP->SSDP-> Get Description->AddPortMapping--->DeletePortMapping
(10 秒)
“10秒” 表示在AddPortMapping之后,用户有10秒钟的时间用于检测。10秒钟之后,
DeletePortMapping将会自动完成,紧随其后的则是一些相关的事件信息。正如之前所说的,对于测试,W5200(TCP服务器)将保持socket(内部端口4321)的监听。因此,如果能够与添加的外部端口建立连接,表示AddPortMapping操作成功。10秒之后,如果连接失败,表示DeletePortMapping成功。
下面的1~3步顺序执行UPnP端口转发:
- 上传应用文本的固件到W5200_EVB(关于上传方法,请参考W5200_EVB用户指南)。
- 运行串行终端,然后打开与W5200_EVB相连接的COM。(波特率:115200,数据位:8位,奇偶校验位:无,停止位:1位,流控制:XON/XOFF)
- 复位W5200_EVB之后串行终端将会告知用户它的运行状态。”AddPort Success!”信息表示AddPortMapping操作成功完成。
图7. AddPortMapping成功
4. 默认状态下, 本文添加了内部IP: 4321ó 外部IP: 1234的端口映射。 用户可以利用AX1来检验这一点。
图8. 在远程主机上运行TCP客户端并且将其与IGD连接(添加外部端口)
5. 默认状态下,已添加的映射入口将会在10秒钟之后被自动删除。此时,将会看到“DeletePort Success!!”信息。
图9. DeletePortMapping成功
6. 再次运行AX1,检验映射入口是否被删除。
图10. 在远程主机上运行TCP客户端并将其与IGD连接(删除的外部端口)