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