彭新清,趙聰聰
(火箭軍工程大學(xué),西安 710025)
當(dāng)前網(wǎng)絡(luò)通訊技術(shù)在各方面的運(yùn)用已十分成熟,特別在日常的聊天聯(lián)絡(luò)方面,如網(wǎng)絡(luò)聊天、語音通話、視頻通話等通信方式的實(shí)現(xiàn),在一定程度上深深的影響著我們的日常的通訊習(xí)慣,使相互之間的溝通聯(lián)絡(luò)更加簡單、迅速,受到人們的親睞。
然而現(xiàn)代網(wǎng)絡(luò)通信中還存在諸多的問題,例如通信內(nèi)容的安全性、時(shí)效性、可靠性及系統(tǒng)的抗干擾能力等方面,導(dǎo)致通信系統(tǒng)出現(xiàn)組網(wǎng)復(fù)雜;連接困難;信息安全沒有保證等問題。該軟件的設(shè)計(jì)是依托Visual Studio 2010軟件設(shè)計(jì)平臺,利用套接字技術(shù)編程實(shí)現(xiàn)實(shí)時(shí)的語音傳輸,能夠有效解決通信系統(tǒng)組網(wǎng)復(fù)雜,中間節(jié)點(diǎn)多等問題,能夠更好地實(shí)現(xiàn)局域網(wǎng)內(nèi)點(diǎn)對點(diǎn)音頻數(shù)據(jù)的實(shí)時(shí)傳輸功能,使客戶端和客戶端之間實(shí)現(xiàn)簡單、快捷的話音通信,同時(shí)是系統(tǒng)內(nèi)部的局域網(wǎng),增加獨(dú)立的安全保護(hù)機(jī)構(gòu),使得最重要的安全問題有保障。
網(wǎng)絡(luò)音頻通信技術(shù)原理是指發(fā)送端通過硬件采集數(shù)據(jù),利用編程實(shí)現(xiàn)音頻采集、量化、編碼、壓縮的音頻轉(zhuǎn)換為利于傳輸?shù)臄?shù)字音頻數(shù)據(jù),然后進(jìn)行封裝打包,利用socket技術(shù)發(fā)送至組網(wǎng)的另一端進(jìn)行恢復(fù),從而實(shí)現(xiàn)了語音在網(wǎng)絡(luò)中的實(shí)時(shí)傳輸與再現(xiàn)的功能。為了較好滿足用戶對軟件的通信需求,軟件在實(shí)現(xiàn)相應(yīng)功能的同時(shí)還必須符合人們?nèi)粘5氖褂昧?xí)慣。
(1)搭建物理平臺
模擬物理平臺構(gòu)建主要由三臺計(jì)算機(jī)、一臺交換機(jī)、若干網(wǎng)線組成。其中兩臺計(jì)算機(jī)分別模擬客戶端,另外一臺計(jì)算機(jī)模擬后臺服務(wù)器,三臺計(jì)算機(jī)通過交換機(jī)連接組成局域網(wǎng)。使用Ping命令探測網(wǎng)絡(luò)中設(shè)備的連通性。
(2)系統(tǒng)界面設(shè)計(jì)及功能實(shí)現(xiàn)
根據(jù)軟件開發(fā)的要求、系統(tǒng)模型確定所需的功能以及使用習(xí)慣設(shè)計(jì)系統(tǒng)界面,利用Visual Studio 2010編程軟件創(chuàng)建一個(gè)工程,建立登陸窗體,登陸窗體ID設(shè)為IDD_LOGIN。在登陸對話框界面的基礎(chǔ)上增加靜態(tài)文本框、編輯框、按鈕等控件。注冊界面是實(shí)現(xiàn)用戶對屬于自己的用戶名及密碼的申請注冊,所以注冊界面應(yīng)顯示的內(nèi)容與登陸界面相似,創(chuàng)建ID名為IDD_REGIST的注冊窗體,然后在窗體上添加所需的控件。然后對系統(tǒng)主界面進(jìn)行設(shè)計(jì),用戶可在該界面進(jìn)行用戶選擇,對選定的用戶發(fā)出音頻通信連接請求及其他相關(guān)的操作,該界面包括位圖框、用戶顯示靜態(tài)文本框、對象IP輸入組合框,有效用戶顯示列表框及對象添加按鈕等。最后是實(shí)時(shí)通信顯示界面。在用戶發(fā)出音頻通信請求或收到音頻通信請求時(shí)顯示該界面,并在通信過程中一直顯示以提醒用戶正在進(jìn)行音頻通信。每一次在固定相應(yīng)的控件位置后,添加實(shí)現(xiàn)對應(yīng)功能的編碼,并運(yùn)行檢測是否能夠?qū)崿F(xiàn)。
(3)實(shí)時(shí)音頻通信的過程
在客戶端,用戶通過輸入對方IP地址實(shí)現(xiàn)有效用戶的添加,所有添加成功的有效用戶都會在顯示列表框進(jìn)行顯示,用戶可對有效用戶進(jìn)行選擇來確定音頻通信對象,確定后,主叫用戶向被叫方發(fā)送通話請求,被叫用戶可選擇同意也可選擇拒絕。文件的傳送方式類同話音通信,但它可實(shí)現(xiàn)線下收件,并反饋對方是否接收成功的消息至發(fā)送方。
(4)實(shí)際操作過程
a、初始化設(shè)備,將設(shè)備參數(shù)恢復(fù)至初始值,保證系統(tǒng)正常運(yùn)行使用,最主要的工作就是設(shè)定數(shù)據(jù)采集時(shí)的數(shù)據(jù)格式和分配數(shù)據(jù)的緩存區(qū)。b、發(fā)送端發(fā)送通信請求,用戶在客戶端確定話音通訊對象后通過按鈕利用套接字來達(dá)到信息的交互的目的,完成發(fā)送連接請求。c、接收端接收通信請求,接收端接到請求后給出提示并根據(jù)用戶的操作給出回執(zhí)同時(shí)判斷是否開始打開音頻設(shè)備進(jìn)行音頻通信。d、發(fā)送端根據(jù)回執(zhí)進(jìn)行判斷,發(fā)送端根據(jù)接收到接收端給出的回執(zhí)進(jìn)行判斷是否打開音頻設(shè)備開始音頻通信,如果拒絕則返回主界面,如果同意則開始音頻通信。e、發(fā)送音頻數(shù)據(jù),將聲卡采集到的數(shù)據(jù)放入緩存,將緩存的音頻數(shù)據(jù)發(fā)出去并開始下一輪的錄音緩存,如此反復(fù)循環(huán)則實(shí)現(xiàn)音頻數(shù)據(jù)的實(shí)時(shí)傳輸。f、接收端恢復(fù)數(shù)據(jù),接收端接收到發(fā)送端發(fā)送的音頻數(shù)據(jù)并將其放入緩存中,隨后將緩存中的音頻數(shù)據(jù)發(fā)送至聲卡進(jìn)行處理后回放。g、斷開音頻連接,通過結(jié)束按鈕實(shí)現(xiàn)音頻通信的斷開、發(fā)送斷開連接命令、停止錄音、關(guān)閉音頻設(shè)備、清空緩存、返回主操作界面等工作。
為了確保軟件順利可靠運(yùn)行,在編程實(shí)現(xiàn)后要對軟件的功能進(jìn)行測試。軟件測試是通過開發(fā)設(shè)計(jì)目標(biāo)要求擬定測試環(huán)境,采用相應(yīng)的流程步驟將軟件實(shí)施檢測,對運(yùn)行的結(jié)果與測試目標(biāo)要求進(jìn)行對照分析,查找存在問題,在允許的條件下對軟件進(jìn)一步完善,以達(dá)到預(yù)期的設(shè)計(jì)開發(fā)目標(biāo)。測試的方法有單元測試和綜合測試。通過單元測試,分別檢測了系統(tǒng)的注冊、登陸、添加客戶、實(shí)時(shí)話音通信、文件收發(fā)功能,達(dá)到預(yù)期的目的,最后進(jìn)行總體運(yùn)行,效果較好。
[1] 謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)[M].北京:電子工業(yè)出版社,20013.06.