基于Qt开发环境的多网卡计算机组播通信技术研究

2018-03-30 02:26张金金
电子技术与软件工程 2017年16期
关键词:计算机

张金金

摘要:在Qt开发的支持下,技术人员能够更加便捷地使用开发库进行软件开发,这是一种在软件开发领域的重大突破,而相关的技术也一直都是通信领域关注的焦点,Qt开发库可以为技术人员提供通信函数,这对技术人员是一种非常有效的辅助,但Qt开发环境也有一些不可避免的缺陷,例如在多网卡环境下,使用Qt开发的情况下,软件无法与制定的网卡绑定,接收数据方面会受到影响。本文研究的就是在Qt开发的环境下,多网卡计算机的组播通信技术,研究的目的就是为了解决出现的一系列的问题,也是对相关理论的补充。

【关键词】Qt开发 计算机 组播通信

计算机技术近年来的发展速度令人惊叹,组播技术的发展由于其各方面的优势,受到了众多用户的追捧。尤其是可以节约资源的特点,是众多用户给予其良好评价的基础,数据的实时传送以及多媒体会议等应用也让为用户提供了诸多便利。Qt是基于C++的一种界面应用框架,其结构非常小巧,具有高度模块化的特点,而且Qt开发的可重用性非常良好,跨平台的优势非常突出。Qt开发可以通过信号以及槽机在任意对象之间实现通信操作,所以不会受到作用关系方面的限制,在数量上比较自由,是一种具有多样性以及灵活性的程序框架。如今在世界范围内已经被广泛应用,很多技术人员利用Qt进行软件开发,但在通信软件的开发领域,始终存在着一些问题。

1 Qt概述

Qt是诺基亚开发的一种程序框架。可以为开发者提供所需的所有功能,Qt开发非常容易面向对象,扩展性也非常好,允许组件编程,目前Qt已经是世界范围内很多成功的应用程序的重要基础。最初Qt只是为跨平台软件的开发提供统一精美的接口,支持网络编程以及用户编程,Qt的开发库与MFC比较类似,但Qr开发库中还封装了一些不同系统的访问细节,可以支持跨平台,这是Qt的优势,也是Qr在全球范围内得到支持的魅力所在。因为其优越的跨平台性,可以让开发者减少很多工作量,因此Qr的用户量大也是情有可原的。

网络编程其实是一种软件开发方面的重要内容。传统的编程方法大多是采用Socket套接字来进行操作,套接字是比较难以掌握的方法,其中包含着太多的函数以及其他数据结构,使用上也有很大难度,而Qt则是把一些数据和函数进行封装,让开发者避免了面对那些复杂的函数和结构,让开发的周期可以大大缩短,代码也保持着简洁。只是在多网卡环境下,使用Qt开发在进行数据收发的时候.无法绑定一些指定的网卡上,这就导致了开发者无法接受到一些数据,这种现象是本文研究的主要问题。

2 组播通信技术

2.1 任意源组播

任意源组播是一种针对接受者的处理方式而划分出来的一种,可以简称为ASM。在ASM中,发送者可以随时向任意一个组播组发送数据,也能够随时接收到一些信息。因此ASM中,组播组的位置和数量都是不存在任何限制的,只是作为接受者也无法真正预知到组播源的位置,ASM在地址分配、访问控制以及源发现等方面存在着一些天然上的缺陷,因此ASM在使用中依舊存在着一些限制。

2.2 指定源组播

指定源组播也是一种处理方式,简称为SSM。SSM不同于传统的模型,是可以预知到组播源位置的,介意在接受者以及指定的组播源间建立起一条专用的转发路径,与ASM相比,SSM实现了路由协议的简化,让组播传输的稳定性以及安全性得到了增强,而在SSM实施的过程中,要求用户的网络断提供网络组播的支持,同时网络以及应用支持相关的协议。因此SSM与ASM是有着极大的差别的,组播通信的机制不同。

3 基于ot开发环境的多网卡计算机组播通信技术运行存在的常见故障

在使用Qt开发的过程中,首先创建出一个组播接受的套接字,然后使用函数将接受的数据套接字绑定到本机的网卡以及端口号。这里要注意设置好端口复用。最后是将套接字引入到制定的组播组中,通过函数建立起来的信号槽点对数据进行接收和发送。如果是单网卡的计算机,在进行数据的接受以及发送时,情况是比较正常的,一旦是多网卡的计算机,运行上述的程序时,就会出现无法接受数据的情况,这就是常见的故障,也是目前Qt开发遇到的主要问题。

4 基于Qt开发环境的多网卡计算机组播通信技术运行故障解决政策

基于上文中提到的问题,首先在构造函数中载入适合的动态链接库,利用函数创建出一个数据报类的套接字,设置允许其他的套接字可以接受此套接字的地址。设置结构体的属性,并制定套接字的协议、端口以及IP地址,使用合适的函数将套接字绑定到制定的端口。然后需要创建出一个结构体,设置好属性,制定IP地质以及多网卡计算机上指定的网卡IP,使用函数设置好套接字并加入。最后将套接字通过函数与之前的数据报类的套接字联系在一起,这样就可以使用Qt提供的函数接受以及发送数据。

5 结论

Qt自带的一些程序在多网卡的计算机中,无法与指定的网卡绑定,这一问题一直影响着一些软件的开发,而通过不断对Qt进行研究,分析组播通信的相关原理以及数据的激励,指出了Qt开发库中的函数存在的漏洞,这一就可以创建出一些套接字来解决这一问题。

参考文献

[1]张伟,王凤英.GRE over IPsec VPN结合NAT的构建方案研究与实现[J].山东理工大学学报(自然科学版),2017(03): 6-10.

[2]匡文波,童文杰,个人信息安全与隐私保护的实证研究 基于创新扩散理论的大数据应用视角[J].武汉大学学报(人文科学版),2016 (06):104-114.

[3]陈艳,李志远,马莉,基于遗传算法的优化QoS组播路由算法[J],桂林航天工业学院学报,2016(03): 309-314.

[4]李元元,基于PolSK正交调制技术的TWDM-PON系统实现组播业务通信[J]计算机与现代化,2016(02): 94-97.

[5]孙磊,常东旭,白杨.基于GOOSE的区域保护控制系统站间通信技术[J].广东电力,2015(04):62-67.

猜你喜欢
计算机
计算机操作系统
穿裙子的“计算机”
基于LabVIEW的计算机联锁仿真系统
基于计算机自然语言处理的机器翻译技术应用与简介
计算机多媒体技术应用初探
信息系统审计中计算机审计的应用
计算机应用软件开发技术的几点探讨
计算机网络安全
iLOCK型计算机联锁开发中的需求开发管理
计算机联锁系统配置软件设计与实现