关键功能的设计和实现
2.1保存PC机网卡配置信息
用来调试显示屏的PC机,一般是一机多用,在调试显示屏的同时,还用来办公、上网,其网卡IP地址可能是固定的或自动获取的。在做网络直连时,可能会改变其IP地址,为了不影响用户的工作,退出时需要自动恢复其IP地址。而要做到这一点,可在启动LED控制软件时,读取当前网卡配置信息,如IP地址、网卡名、MAC地址、网卡类型、是否是自动配置IP地址等等,将这些信息放入一个链表中保存,同时设置一个标识,记录用户在调试显示屏的过程中,是否使用过网络直连操作,待退出系统时使用。
在Windows操作系统中,可使用IPHelper接口来读取网卡信息,它是一套用于管理本地网络设置的API,通过它使用IP_ADAPTER_INFO结构,可以方便地提取上述网卡配置信息,保存到链表中。
2.2借鉴DHCP服务原理,构建网络直连通道
要实现PC机和LED显示屏网络直连通信,必须解决两个关键问题:其一,让PC机和LED显示屏在同一个网段;其二,知道LED显示屏的IP地址。
除此之外,还要解决多网卡、无线网卡对网络直连的干扰等现象。借鉴DHCP原理,主要解决思路如下:
(1)在PC机端设计一个网络直连控制进程;(2)需要网络直连时,启动该进程,通过Windows相关网络API函数和注册表信息,确定与LED显示屏连接的非无线网卡,将其MAC地址放入构建请求IP地址的UDP数据包中,然后广播出去,同时启动内部UDP包捕获子进程;(3)LED显示屏收到请求IP地址的UDP包后,根据本身IP地址,构造一个PC机的IP地址,将其广播出去,为了不引起混乱,这里构建的是伪DHCP包,正常的Windows客户端收到该UDP包时,并不会自动改变其IP地址;(4)网络直连控制进程的UDP包捕获子进程接收到分配的IP地址的UDP包后,解包得到PC机的IP地址和LED显示屏的IP地址;(5)设置PC机网卡IP地址,上传LED显示屏的IP地址给控制软件,成功后,关闭网络直连控制进程,完成网络直连通道的建立。
这个网络直连的过程涉及三个系统:(1)网络直连控制进程,它构建请求IP地址UDP数据包并广播出去,同时监控目标网卡的68端口,捕获返回的UDP数据包,解析出PC机的IP地址和LED显示屏的IP地址,然后设置PC机的IP地址,将LED显示屏的IP地址提交给主进程,完成网络直连的任务;(2)LED显示屏DHCP服务子进程,它接收PC机的IP地址请求,构建并设置自身IP地址,并返回PC机的IP地址的伪DHCP包;(3)LED控制软件,当用户选择网络直连方式时,启动网络直连控制子进程,实现网络直接通道的建立,完成后,关闭该进程。
2.3恢复PC机网卡的配置信息
退出系统时,根据2.1保存的是否使用过网络直连的标识进行判断,如果没有使用过网络直连方式,则无需执行网络IP恢复功能;否则将执行恢复功能,还原2.1保存的网卡配置,恢复网卡IP地址可使用netshinterfaceipset命令。
同时,为了加快处理速度并提高成功率,可按禁用网卡、设置网卡IP地址、再启用网卡的步骤实施:
(1)使用Windows的SetupAPI相关接口API函数禁用目标网卡;(2)恢复目标网卡IP设置,根据静态IP地址和动态IP地址,分别用不同的命令:
a.恢复静态IP地址命令。
netshinterfaceipsetaddressname=“本地连接”
source=STaticaddr=192.168.1.19mask=255.
255.255.0gateway=none.
b.恢复动态IP地址命令。
netshinterfaceipsetaddress“本地连接”dhcp
(3)使用SetupAPI相关接口API函数启用目标网卡,这样就完成了网卡配置信息的恢复。
结论
本文针对LED显示屏调试过程中对网络直连的需求,提出一种网络直连的方法,系统在启动时自动保存网卡配置信息,使用网络直连进程构建网络直连通道,退出系统时自动恢复网卡配置信息,使用户无需知道LED显示屏的IP地址,也不用修改PC机的IP地址,便可实现PC机与LED显示屏的网络通信。该方法在LED导航者软件中使用,其可靠性、稳定性和时效性得到了用户的认可,取得了良好的效果。实践证明,该方法可为类似的应用提供一种可供借鉴的解决方案。
![]() |
户外广告机 |
落地式广告机 |
高清广告机 |
分屏广告机 |
蓝牙广告机 |
网络广告机 |
数字标牌播放器 |
广告机方案 |
多媒体信息发布系统 |
触控一体机 |
高清机顶盒 镜面广告机 | 多媒体广告机 | 触摸广告机 | 液晶广告机 | 车载广告机 | 互动式广告载体 | 楼宇广告机 | 流媒体实时发布系统 | 广告机外壳 | 户外大屏幕 | 广告机报价 数字标牌软件 | 电子看板 | 商业显示 | 嵌入式主板 | 触控一体机 | 数字标牌显示器 | 嵌入式流媒体服务器 | 立式广告机 | 3D广告机 | |