freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于ip網(wǎng)絡(luò)公務(wù)電話系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文-全文預(yù)覽

2025-07-17 21:05 上一頁面

下一頁面
  

【正文】 對于組呼通話,主叫端撥號(hào)后不會(huì)播放回鈴音;通話過程中,被叫端先掛機(jī),主叫端不會(huì)播放忙音;主叫端先掛機(jī),所有被叫端都會(huì)播放忙音。對端15秒內(nèi)未摘機(jī)通話,撥號(hào)超時(shí),話機(jī)播放忙音。、是此次仿真系統(tǒng)軟件的三個(gè)界面: 撥號(hào)界面 系統(tǒng)設(shè)置界面 話機(jī)記錄界面第二節(jié) 初始化配置IP公務(wù)電話仿真系統(tǒng)必須在配置好每個(gè)電話對應(yīng)的號(hào)碼、組號(hào)等信息才能正常使用。整個(gè)程序都是從IPPHONEdlg類開始和結(jié)束的,在消息出發(fā)機(jī)制的作用下,不停的調(diào)用各個(gè)類,完成各項(xiàng)功能,最終實(shí)現(xiàn)IP公務(wù)電話的功能。如果不是HOLDING_TALKING,則進(jìn)行掛機(jī)等一系列操作。如果不是HOLDING_TALKING,則進(jìn)行掛機(jī)等一系列操作。然后以同樣的方式做循環(huán),每次將緩存順序的變量自加,這樣就實(shí)現(xiàn)了向每個(gè)主機(jī)發(fā)送信令包。1.主叫端處理首先創(chuàng)立一個(gè)信令包結(jié)構(gòu)體的對象,然后將本機(jī)的信息寫入這個(gè)信令包中。我們同樣先將本機(jī)的信息寫入一個(gè)信令包中,判斷話機(jī)是否進(jìn)入HOLDING_TALKING狀態(tài)并判斷話機(jī)振鈴是否超時(shí)。在單呼主叫端通話進(jìn)程中,我們首先也是將本機(jī)的信息寫入一個(gè)信令包中,然后判斷此時(shí)話機(jī)的狀態(tài),如果不是HOLDING_TALKING,則進(jìn)行掛機(jī)等一系列操作。由流程圖我們可以知道,用戶摘機(jī),撥號(hào),掛機(jī)等操作都是在用戶的撥號(hào)界面(主界面)進(jìn)行的,所以我們要實(shí)現(xiàn)通話流程,就應(yīng)該在IPPHONEDlg類中的按鍵函數(shù)中實(shí)現(xiàn)。CSignalAcpSocket和CsignalSerSocket類CSignalAcpSocket和CsignalSerSocket類是服務(wù)器端的程序它們的主要成員函數(shù)有:OnAccept(int nErrorCode)、OnClose(int nErrorCode) 和OnSend(int nErrorCode) OnAccept(int nErrorCode):調(diào)用了CasyncSocket的成員函數(shù)OnAccept(nErrorCode),通知監(jiān)聽套接字現(xiàn)在可以調(diào)用Accept成員函數(shù)來接收懸掛的連接請求,再調(diào)用Accept成員函數(shù)接受請求。OnConnect(int nErrorCode):調(diào)用了CasyncSocket的成員函數(shù)OnConnect,實(shí)現(xiàn)客戶機(jī)向服務(wù)器套接字的連接請求。對于Socket的WSAStartup和bind的綁定,可以用create函數(shù)調(diào)用替代,IP地址類型轉(zhuǎn)換、主機(jī)名和IP地址轉(zhuǎn)換的過程中許多復(fù)雜的變量類型都被簡化成字符串和整數(shù)操作。第二節(jié) 用于信令傳輸?shù)拿嫦蜻B接的套接字由第一章我們可以發(fā)現(xiàn),面向非連接的套接字的客戶機(jī)與服務(wù)器的流程是一樣的,所以在編寫面向非連接的套接字時(shí),我們可以將所有客戶服務(wù)器操作用同樣的函數(shù)完成。 JoinMulticast():這是用于組播的套接字綁定,先定義一個(gè)SOCKADDR_IN的對象addr,然后對里面的成員進(jìn)行賦值,然后進(jìn)行了組播的設(shè)置,并且屏蔽掉本機(jī)數(shù)據(jù),最后綁定各端口的套接字。以下是實(shí)現(xiàn)以上函數(shù)所實(shí)現(xiàn)的功能介紹:Create(UINT LocalPort,UINT RemotePort,char * pAddr):首先進(jìn)行了版本協(xié)商,這也是最高版本,支持異步套接字的函數(shù)。并分析了12個(gè)類和3個(gè)結(jié)構(gòu)體在系統(tǒng)結(jié)構(gòu)中所完成的功能,介紹了信令機(jī)制設(shè)計(jì),界面設(shè)計(jì)、話機(jī)狀態(tài)設(shè)計(jì)以及線程設(shè)計(jì)。 狀態(tài)轉(zhuǎn)移圖第七節(jié) 系統(tǒng)程序線程設(shè)計(jì)本系統(tǒng)設(shè)計(jì)中,我們采用了多線程技術(shù)對語音采集、語音播放、信令處理、鈴音播放、撥號(hào)采集、信息提示等等進(jìn)行處理,利用多個(gè)線程協(xié)同完成話機(jī)的各個(gè)功能。 主界面系統(tǒng)設(shè)置界面的設(shè)計(jì): 系統(tǒng)配置界面通話記錄界面: 通話記錄界面第六節(jié) 話機(jī)狀態(tài)設(shè)計(jì)在話機(jī)狀態(tài)設(shè)計(jì)中,我們充分考慮了公務(wù)IP電話的各個(gè)狀態(tài),設(shè)計(jì)了話機(jī)的狀態(tài)標(biāo)志。具體實(shí)現(xiàn)是在CsignalDeal類中定義了SignalPacket的結(jié)構(gòu)體。CSoundSocket類:負(fù)責(zé)語音數(shù)據(jù)的發(fā)送及接收,采用UDP方式,單呼和組呼的語音數(shù)據(jù)都使用這個(gè)類來傳輸。CSignalSerSocket類:異步套接字類,負(fù)責(zé)數(shù)據(jù)發(fā)送接收。首先創(chuàng)建并初始聲音采集設(shè)備,創(chuàng)建語音采集緩沖區(qū),設(shè)置緩沖區(qū)的通知位置,創(chuàng)建一個(gè)發(fā)送線程,把緩沖區(qū)中的語音數(shù)據(jù)發(fā)送到指定的用戶(單呼),或著小組中其他用戶(組呼)。并能使用戶可以添加、修改、刪除、清空和顯示配置情況,CHistoryDlg類:通話記錄的對話框類。這是整個(gè)程序的入庫函數(shù),即程序每次從開啟到終止時(shí)經(jīng)歷的全過程。能夠更高效的實(shí)現(xiàn)面向連接的套接字操作,交互客戶機(jī)/服務(wù)器之間的信令,當(dāng)交互完成之后,交給CsignalDeal類來完成相應(yīng)的信令處理;CSoundSocket則是實(shí)現(xiàn)對包括單呼和組呼的套接字?jǐn)?shù)據(jù)傳輸,這是面向無連接的套接字操作,能夠更快速的傳輸數(shù)據(jù),滿足語音通信功能。CSignalDeal、CNumberList、CManageSound、CCaptureSound、CPlaySound類是實(shí)現(xiàn)業(yè)務(wù)邏輯層的類。第三節(jié) 類的設(shè)計(jì)一、類設(shè)計(jì)的基本情況為了實(shí)現(xiàn)上述三層的功能,按照VC++編程的思想,我們需要將完成不同功能的操作規(guī)劃成不同的類以及類里面的成員函數(shù)或構(gòu)造函數(shù)。通過各線程之間的數(shù)據(jù)交互,實(shí)現(xiàn)了各自的功能,并交給下一層進(jìn)行處理。用戶通過界面層的撥號(hào)按鍵的操作,可以發(fā)起單呼和組呼請求;通過對話機(jī)記錄的操作可以查看話機(jī)歷史記錄;通過對系統(tǒng)配置的操作可以完成對話務(wù)系統(tǒng)的系統(tǒng)配置工作。通過這個(gè)軟件,用戶可以將電腦作為公務(wù)電話進(jìn)行所需通信。第三節(jié) 本章小結(jié)本章的主要內(nèi)容是對設(shè)計(jì)整個(gè)軟件的開發(fā)可行性的研究以及及需求分析。也就是說,我們做出的這個(gè)軟件,能讓用戶方便的操作,并且能夠安全可靠的進(jìn)行即使語音傳輸,而且能夠直接拷貝,不需要安裝就能在Windows的電腦上運(yùn)行。這個(gè)程序應(yīng)該能夠在IP網(wǎng)絡(luò)中進(jìn)行即時(shí)語音通訊。由此我們可知,在成本層面上開發(fā)這次軟件是可行的。另外,基于這次的程序開發(fā)是在VC++,只需要一個(gè)計(jì)算機(jī)就能進(jìn)行開發(fā)。第三章 開發(fā)可行性及需求分析第一節(jié) 開發(fā)的可行性本次軟件開發(fā)是基于Virtual C++,這個(gè)平臺(tái)能夠不僅能夠?qū)崿F(xiàn)編譯、調(diào)試等功能,而且還包含了MFC,也就是說,在這個(gè)平臺(tái)下進(jìn)行開發(fā),我們能夠享受MFC的所用類以及類里面的成員函數(shù)。本章第三節(jié)介紹了Socket的編程過程,并且,分析兩種不同的套接字,即面向連接的流式套接字和面向無連接的數(shù)據(jù)報(bào)套接字。TCP/IP協(xié)議是我們網(wǎng)絡(luò)程序?qū)崿F(xiàn)在IP網(wǎng)絡(luò)承載下進(jìn)行通信所要遵守的重要協(xié)議。MFC是微軟公司提供的基于windows系統(tǒng)下程序開發(fā)的一種應(yīng)用程序設(shè)計(jì)類庫。由于線程能夠記錄的東西很少,但消耗比進(jìn)程小很多。第五節(jié) 多線程編程進(jìn)程是在計(jì)算機(jī)的程序自身地址中的一次執(zhí)行活動(dòng),是程序的一個(gè)實(shí)例;線程是進(jìn)程中一個(gè)單一順序的控制流[8]。 單鏈表結(jié)構(gòu)單鏈表是用于數(shù)據(jù)元素之間是線性關(guān)系的時(shí)候[14]。在本次程序設(shè)計(jì)中,我們采用的是異步套接字的方法。最后,用closeSocket()和WSACleanup()函數(shù)來關(guān)閉套接字,終止服務(wù)[7]??蛻舳说牧鞒叹捅容^簡單了。等到監(jiān)聽到客戶端的connect()的指令時(shí),就立即調(diào)用accept()函數(shù)接受連接請求。當(dāng)要進(jìn)行一次通信時(shí),首先同樣用Socket()函數(shù)來建立一個(gè)客戶端的套接字,調(diào)用bind函數(shù)將套接字和本地地址綁定在一起。是用于無連接的Socket系統(tǒng)調(diào)用流程圖[5]。在輕負(fù)載的網(wǎng)絡(luò),你可以使用數(shù)據(jù)報(bào)套接字和提高溝通效率;原始套接字(SOCK_RAM)這主要是用于測試或安裝網(wǎng)絡(luò)設(shè)備時(shí)使用。這樣就實(shí)現(xiàn)了套接字的傳輸模式,[5]。網(wǎng)絡(luò)應(yīng)用程序要使用TCP/IP協(xié)議來實(shí)現(xiàn)自己的功能,只能通過由系統(tǒng)提供給用戶的TCP/IP協(xié)議編程接口來實(shí)現(xiàn)[4]。服務(wù)器的程序必須在客戶機(jī)的程序的啟動(dòng)之前開始,并且是在客戶機(jī)的響應(yīng)結(jié)束之后整個(gè)進(jìn)程才完全結(jié)束。四、C/S模式在網(wǎng)絡(luò)連接中,有一種常用的模式是客戶機(jī)/服務(wù)器網(wǎng)絡(luò)[12]。三、網(wǎng)絡(luò)組建方式網(wǎng)絡(luò)是由通信節(jié)點(diǎn)以及節(jié)點(diǎn)之間的連接構(gòu)成的,不同的節(jié)點(diǎn)和連接方式構(gòu)成了不同的網(wǎng)絡(luò)。從而區(qū)分不同的用戶。我們只需要在這些對話框里面進(jìn)行我們所需要的程序邏輯設(shè)計(jì)就能完成所需功能。MFC是由很多類組成的這些類之間有繼承和派生的關(guān)系,其中Cobject類作為很多類的父類,CCmdTarget和CWnd是其派生出來的兩個(gè)大類。所謂面向?qū)ο?,就是以對象為基礎(chǔ),以事件或消息來驅(qū)動(dòng)對象執(zhí)行處理的程序設(shè)計(jì)技術(shù)。其中Developer Studio是一種集成開發(fā)環(huán)境,它能提供包括VC++、VC、VB、VJ以及VID的編譯器,而且可以提供很多Wizard,它就是我們完成很多功能的幕后英雄[17]。不僅如此,這個(gè)軟件可以輕松調(diào)用MFC這個(gè)數(shù)據(jù)庫,從而使你能夠很輕松的駕馭windows的程序設(shè)計(jì)。本次設(shè)計(jì)是一個(gè)IP網(wǎng)絡(luò)的網(wǎng)絡(luò)應(yīng)用程序的開發(fā)。在編寫程序之前,我進(jìn)行了系統(tǒng)框架設(shè)計(jì)、類設(shè)計(jì)、信令機(jī)制設(shè)計(jì)、界面設(shè)計(jì)、話機(jī)狀態(tài)設(shè)計(jì)以及線程設(shè)計(jì),此外,為了完成單呼和組呼的功能,我還分別做了單呼和組呼通話過程的流程分解,具體的描述了通話過程中邏輯流程。我們可以將這些網(wǎng)元當(dāng)作是二層或三層交換機(jī)或者路由器,由它們組成的IP網(wǎng)絡(luò)。三、網(wǎng)絡(luò)IP公務(wù)電話的需求以及模擬方式公務(wù)電話是傳輸設(shè)備的一種基本功能,隨著無線通信技術(shù)的普及和覆蓋,基于PCM方式的傳統(tǒng)公務(wù)電話的重要性在不斷的降低。 二、基于IP網(wǎng)絡(luò)協(xié)議的IP電話IP網(wǎng)絡(luò)雖然具有良好的開放性和通用性,但由于它的網(wǎng)絡(luò)層是用數(shù)據(jù)報(bào)形式以面向無連接的方式傳輸?shù)?,所以IP網(wǎng)絡(luò)只能提供“盡最大努力”的服務(wù),不能保證數(shù)據(jù)何時(shí)到達(dá)以及能提供多少數(shù)據(jù),導(dǎo)致傳輸?shù)目煽啃院蜁r(shí)延成為了它必有的內(nèi)傷,這一缺點(diǎn)對于語音數(shù)據(jù)傳輸以及可視通信是致命的。TCP協(xié)議是通過一種面向連接的,可靠的數(shù)據(jù)傳輸服務(wù),它具有:向應(yīng)用進(jìn)程提供面向連接的服務(wù);通過三次握手,提供全雙工數(shù)據(jù)傳輸服務(wù),但不支持廣播和組播。其中在網(wǎng)絡(luò)傳輸中,路由器可以通過處理網(wǎng)絡(luò)層的開銷字節(jié)來完成路由的功能。就像交通運(yùn)輸一樣,人們一直在努力去尋求一種最為理想的運(yùn)輸方式,使得在同樣的時(shí)間內(nèi),最有效的使用交通資源。從物理上看,Internet是由不同類型的物理組件作為節(jié)點(diǎn),通過傳輸線路相互連接而構(gòu)成的網(wǎng)絡(luò),這些物理組件主要有主機(jī)、交換機(jī)和路由器。論文分為四個(gè)部分:第一章綜合闡述了本次設(shè)計(jì)運(yùn)用到的IP網(wǎng)絡(luò)系統(tǒng)以及Windows的程序設(shè)計(jì);第二章介紹了本次程序開發(fā)的總體設(shè)計(jì);第三章介紹了程序的操作流程;第四章對這次程序設(shè)計(jì)的關(guān)鍵代碼和實(shí)現(xiàn)進(jìn)行了分析和討論。只要一臺(tái)電腦里面安裝了設(shè)計(jì)好的應(yīng)用程序,連接到Internet的,不論接入方式,不論組網(wǎng)方式,只需要能夠分配到一個(gè)IP地址,就能和另外的任意臺(tái)電腦進(jìn)行通信,很好的完成公務(wù)電話的各種功能。各種各樣的應(yīng)用程序以及不同類型的業(yè)務(wù)都可以通過這個(gè)網(wǎng)絡(luò)來承載,它不僅采用了標(biāo)準(zhǔn)的開放的TCP/IP協(xié)議,還提供開放的API。Internet與傳統(tǒng)電話網(wǎng)絡(luò)有著本質(zhì)的區(qū)別,也是它最突出的優(yōu)點(diǎn),那就是設(shè)計(jì)上的通用性和開放性。然而,基于IP網(wǎng)絡(luò)的Internet的應(yīng)用程序公務(wù)電話,則可以很好的克服這一點(diǎn)。實(shí)現(xiàn)了在Internet上進(jìn)行公務(wù)電話的單呼功能和組呼功能。它的主導(dǎo)思想是在沒有發(fā)送端和接收端幫助的情況下,具有源地址和目的地址的的數(shù)據(jù)包能夠獨(dú)立地穿越由路由器構(gòu)成的網(wǎng)絡(luò)[1]。IP網(wǎng)絡(luò)最大的特點(diǎn)就是它在路由的時(shí)候,沒有指定的路線,而是各個(gè)路由器通過自己當(dāng)時(shí)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和網(wǎng)絡(luò)線路情況,根據(jù)特定的某種算法決定下一個(gè)路由的方向,也就是說,同樣一個(gè)數(shù)據(jù)包從一個(gè)節(jié)點(diǎn)傳到另一節(jié)點(diǎn)在不同時(shí)候可能會(huì)有多種路徑。每一層都是在原有的數(shù)據(jù)包外附加了一部分開銷,用來完成特定的功能。這兩種協(xié)議有各自的優(yōu)缺點(diǎn),但同時(shí)通過這兩種協(xié)議的綜合使用,能夠滿足不同用戶的需求。但它具有自己的特點(diǎn):不存在連接上的時(shí)延;一臺(tái)服務(wù)器可以向多個(gè)用戶同時(shí)傳輸數(shù)據(jù);UDP的開銷比TCP斷;吞吐量不受流量算法的控制。到目前,這項(xiàng)技術(shù)已經(jīng)成熟,通過IP電話網(wǎng)關(guān),我們就能實(shí)現(xiàn)IP網(wǎng)絡(luò)與PSTN的融合,實(shí)現(xiàn)傳統(tǒng)電話與IP電話、以及電腦的通信。 IP公務(wù)電話網(wǎng)絡(luò)示意圖如圖所示,通信設(shè)備的網(wǎng)元組成一個(gè)通信網(wǎng)絡(luò),提供第一層和第二層的路由和報(bào)文轉(zhuǎn)發(fā)。這次程序能夠完成IP公務(wù)電話的單呼以及組呼的功能,即能夠使聯(lián)網(wǎng)的任意兩臺(tái)電腦相互進(jìn)行語音通信,并且能使一個(gè)組內(nèi)的所有電腦進(jìn)行通話。第二節(jié)對本次設(shè)計(jì)以及本次論文進(jìn)行了概括。我們可以很輕松的編寫完C/C++程序代碼后進(jìn)行編輯、調(diào)試和運(yùn)行。SDK。由于VC++是用C++語言來編寫程序,所以它也是面向?qū)ο蟮某绦蚓幊?。二、MFC Windows程序設(shè)計(jì)MFC(MicrosoftFoundationClasses) 是微軟公司開發(fā)的一個(gè)C++的類庫,它里面封裝了大部分基于windows操作系統(tǒng)的 API函數(shù)。因?yàn)檫@個(gè)類里面包含的成員函數(shù)、成員變量已經(jīng)足夠我們?nèi)ラ_發(fā)一個(gè)基于對話框的應(yīng)用程序了。通過與子網(wǎng)掩碼相與,我們能夠得到相應(yīng)的網(wǎng)段以及同一網(wǎng)段內(nèi)的不同主機(jī)號(hào)。應(yīng)用層包含了所有網(wǎng)絡(luò)中的高層協(xié)議,也就是能夠提供一組應(yīng)用程序,這些協(xié)議包括遠(yuǎn)程登錄協(xié)議Telnet、文件傳輸協(xié)議FTP、域名服務(wù)DNS、超文本傳輸協(xié)議HTTP、簡單郵件傳輸協(xié)議SMTP等[2];傳輸層則是使應(yīng)用程序之間能夠進(jìn)行通信,前面第一章第一節(jié)已經(jīng)詳細(xì)說明,不再累述;網(wǎng)絡(luò)層就是讓不同的主機(jī)進(jìn)行交互;網(wǎng)絡(luò)接口層是負(fù)責(zé)成幀以及怎樣將幀放在IP網(wǎng)絡(luò)上面進(jìn)行傳輸。 網(wǎng)絡(luò)的組建方式考慮到本次軟件是由任意兩臺(tái)電腦接入網(wǎng)絡(luò)后就能進(jìn)行通信,因此選用第三種方式,即自組織特性網(wǎng)絡(luò)方式,只要需要通信時(shí),主叫端就為客戶端,被叫為服務(wù)器端,這樣就能實(shí)現(xiàn)我們的單呼和組呼功能。它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境優(yōu)勢,將任務(wù)合理分配到客戶端和服務(wù)器端來實(shí)現(xiàn),降低了系統(tǒng)的通訊開銷[3]并且提高了效率。所謂的網(wǎng)絡(luò)應(yīng)用程序就是通過IP網(wǎng)絡(luò)協(xié)議,也就是TCP/IP協(xié)議棧來進(jìn)行通信。然后它們把要傳達(dá)的信息輸入到即將發(fā)送的Socket中,然后由這個(gè)Socke
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1