張金金
摘要:在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.