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

正文內容

網(wǎng)絡電話軟件設計論文-文庫吧資料

2024-10-16 10:37本頁面
  

【正文】 送少量數(shù)據(jù),比如一次發(fā)送 400 個字節(jié),連續(xù)發(fā)送 10次,接收方用 Receive 函數(shù)可能一次就把這 4000 個字節(jié)都接收下來了,而為了實現(xiàn)播放,我們希望調用一次發(fā)送函數(shù)就能把緩沖區(qū)大小的話音數(shù)據(jù)發(fā)送出去,調 用一次接收函數(shù)就能把對方一次發(fā)送的話音數(shù)據(jù)準確接收下來,以便進行播放,所以一種比較簡單實用的辦法,就是利用 TCP 協(xié)議發(fā)送數(shù)據(jù)時為每個數(shù)據(jù)包加個標志頭。 Windows Socket 對于從事過網(wǎng)絡編程的人來說應該不陌生,因為我們要實現(xiàn)點對點通信,所以得把客戶和服務器模式融合為一種模式,讓服務器可以做客戶,客戶也可以做服務器,從而使雙方都有呼叫對方和接受對方呼叫的能力,這只需增加一個監(jiān)聽 Socket 就行了。 音頻數(shù)據(jù)塊結構,實際上主要用到的就是第一個成員變量 lpData, 所以我們只要在分配緩沖區(qū)(內存)的同時相應分配 WAVEHDR 數(shù)據(jù)塊結構,然后將緩沖區(qū)的指針賦給對應的數(shù)據(jù)塊結構的成員變量 lpData,這樣當一個緩沖區(qū)填滿后,也就是一個音頻數(shù)據(jù)塊填滿了,通過消息機制就可以在消息函數(shù)中進行處理和播放,播放完后又可通過消息函數(shù)把緩沖區(qū)再送給音頻設備輸入驅動程 序,繼續(xù)進行采集并播放,當你一次性分配多個緩沖區(qū)和數(shù)據(jù)塊結構并賦給音頻設備輸入驅動程序后,至于把哪個緩沖區(qū)填滿,然后再把哪個空緩沖區(qū)賦給設備輸入驅動程序,不需人為干預,完全由 Windows 控制,這就是一種用動態(tài)循環(huán)緩沖區(qū)實現(xiàn)話音的實時采集、播放的簡單而巧妙的辦法。 /* reserved for driver */ DWORD reserved。 /* assorted flags (see defines) */ DWORD dwLoops。 /* for client39。 /* length of data buffer */ DWORD dwBytesRecorded。其結構框圖如下: 聲音的采集和播放都是在操作這個 typedef struct wavehdr_tag { LPSTR lpData。當應用程序不斷向設備驅動程序提供音頻數(shù)據(jù)時,設備驅動程序控制音頻設備在后臺完成錄音和放音的具體操作,通過回調機制,我們又可以檢測到什么時候用完一個數(shù)據(jù)塊,并及時傳送下一個數(shù)據(jù)塊,從而保證了聲音的連續(xù),有了這種單機上的實時采集、回放功能后,接下來的工作就是在網(wǎng)絡上傳送話音數(shù)據(jù)。繼續(xù)提出請求 …… 請求結束后關閉通信通道并終止 . 在 MFC 中 ,Microsoft 為套接口提供了相應的類 CAsyncSocket 和 應用程序 1 應用程序 2 網(wǎng)絡應用編程界面 (SOCKET) TCP/IP 核心協(xié)議 物理介質 10 提供基于異步通信的套接口封裝功能 ,Csocket則是由 CasyncSocket派生 ,提供更加高層次的功能 .例如可以將套接口上發(fā)送和接收的數(shù)據(jù)和一個文件對象 (CSocketFile)關聯(lián)起來 ,通過讀寫文件來達到發(fā)送和接收數(shù)據(jù)的目的 ,此外 Csocket提供的通信為同步通信 ,數(shù)據(jù)未接收到或是未發(fā)送完之前調用不會返回 .與此同時 ,通過 MFC 類開發(fā)者可以不考慮網(wǎng)絡字節(jié)順序和忽略掉更多的通信細節(jié) . 在一次網(wǎng)絡通信 /連接中有以下 幾個參數(shù)需要設置 : 本地 IP 地址 本地端口號 對方端口號 對方 IP 地址 左邊兩部分稱為一個半關聯(lián) ,當與右邊兩部分建立連接后就稱為一個全關聯(lián) .在這個全關聯(lián)的套接口上可以雙向交換數(shù)據(jù) .如果是使用無連接的通信則只需要建立一個半關聯(lián) ,在發(fā)送和接收時指明另一半的參數(shù)就可以了 , 所以可以說無連接的通信是將數(shù)據(jù)發(fā)送到另一臺主機的指定端口 .此外不論有連接還是無連接的通信都不需要雙方的端口號相同 . 11 第四章 語音通訊介紹 語音通信的原理 要實現(xiàn)點對點語音通信,原理非常簡單,只要針對一個點實現(xiàn)話音的 實時采集、處理、播放,同時能進行可靠的傳送和接收,這樣兩點一連便可通話。套接字 (Socket)最初是由加利福尼亞大學 Berkeley 分校為 UNIX 操作系統(tǒng)開發(fā)的網(wǎng)絡通信接口 .隨著 UNIX操作系統(tǒng)的廣泛使用 , 套接字成為當前最流行的網(wǎng)絡通信應用程序接口之一 .20世紀 90年代初 期 ,由 Sun Microsystems, JSB Corporation,FTP software,Microdyne 和 Microsoft 等幾家公司共同制造了一套標準 ,即 Windows Sockets 規(guī)范 . Windows Sockets API 是 Microsoft Windows 的 網(wǎng)絡程序設計接口 ,它在繼承了Berkeley Sockets 主要特征的基礎上 ,又對它進行了重要擴充 .這些擴充主要是提供了一些異步函數(shù) ,并增加了符合 Windows 消息驅動特性的網(wǎng)絡事件異步選擇機制 .這些擴充有利于應用程序開發(fā)者編制符合 Windows 編程模式的軟件 ,它使在 Windows 下開發(fā)高性能的網(wǎng)絡通信程序成為可能 . Sockets 實際上是指一個通信端點 ,是網(wǎng)絡的基本構件 .借助于它 ,用戶所開發(fā)的Socket 應用程序 ,可以通過網(wǎng)絡與其他 Socket 應用程序進行通信 .它是可以被命名和尋址的通信端點 ,使用中的每一 個套接字都有其類型和一個與之相連的進程 . 套接字存在通信區(qū)域 (通信區(qū)域又稱地址簇 )中 . 套接字只與同一區(qū)域中的套接交換數(shù)據(jù) (跨區(qū)域時 ,需要執(zhí)行某些轉換進程才能實現(xiàn) ).Windows 中的套接字只支持一個域 ______網(wǎng)際域 .套接字具有類型 ,Windows Socket 版本支持兩種套接字 :流套接字 (SOCK_STREAM)和數(shù)據(jù)報套接字 (SOCK_DGRAM). 9 Socket 通信實現(xiàn)原理 TCP/IP 協(xié)議的核心部分是傳輸層協(xié)議 (TCP,UDP),網(wǎng)絡層協(xié)議 (IP)和物理接口層 ,這 三層通常是在操作系統(tǒng)內核中實現(xiàn) .因此用戶一般不涉及 .編程時 ,編程界面有兩種形式 :一種形式是由內核心直接提供的系統(tǒng)調用 :另一種形式是使用以庫函數(shù)方式提供的各種函數(shù) .前者為核內實現(xiàn) ,Socket 與 TCP/IP 協(xié)議的關系如圖所示 . Socket 與 TCP/IP 協(xié)議關系 在 TCP/IP網(wǎng)絡中兩個進程間的相互作用的主機模式是客戶機 /服務器模式 (Client/Server model).該模式的建立基于以下兩點 :一點是非對等作用 。 Socket 綁定于特定端口這樣 TCP 層就知道將數(shù)據(jù)提供給哪個應用程序。 8 第三章 Socket 通訊介紹 Socket 的基本概念 Socket,也就是俗稱的套接字??蛻舳溯斎胗脩裘x擇本機的通信協(xié)議,并且輸入正確的服務器名稱之后才能向服務器發(fā)送建立連接請求。服務器更新用戶列表。 5 當客戶端想與服務器端斷開連接時,只需按關閉按鈕。服務器發(fā)信息至另一客戶端,通知其對方客戶端已經(jīng)斷開與之的連接。此時被請求的客戶端彈出一個對話框 ,如 果接受連接 ,此時服務器把兩個客戶端的狀態(tài)置為 IN SESSION. 4 當某一客戶端想要斷開連接 ,則只需在用戶列表中選擇 NO ONE TO TALK 。 3 當一客戶端請求與另一客戶端建立連接時,客戶端在聯(lián)系人一欄中選擇想要聊天的對象。 2 當服務器收到客戶端的請求之后,服務器將此客戶端的狀態(tài)置為 AVAILABLE。 文本聊天的實現(xiàn)方法: 1 建立與服務器 的連接。 這里就不一一說明了。最后,通過 vtPlayWave 類的VTPlayWave::StartPlay(void)方法 進行播放。為了實現(xiàn)語音的播放,首先把采集到的經(jīng)過壓縮后的語音取出來。本系統(tǒng)采用的是用固定長度的字符串組成的消息命令字,通過定義特殊的消息命令字 (信令 )來控制系統(tǒng)工作。收到指定的消息命令字就去執(zhí)行 6 該消息命令字對應的操作。同時該模塊還負責對接收到的語音數(shù)據(jù)流進行解壓縮并利用聲卡播放出來的 任務。 客戶端 模塊負責建立起連接之后的語音通訊功能。服務器端程序利用 Winsock 控件來監(jiān)聽客戶端發(fā)來的請求,對接收到的客戶端發(fā)來的請求進行處理,提取出命令字及參數(shù),按照定義好的命令字完成相應的工作。 服務器端的數(shù)據(jù)庫中包含了所有用戶的資料。 5 第二章 軟件設計 軟件的需求分析 整體結構 本系統(tǒng)從邏輯上分為 2 個部分:客戶端和服務器端。本軟件能夠在網(wǎng)絡上實現(xiàn)兩人之間的文本傳輸和兩人之間的語音對話,但支持多人在線。 基于實驗和研究的目的,本文實現(xiàn)了一個從計算機到計算機的網(wǎng)絡電話的軟件。類似的技術也可用于長途傳真( E- Fax)等電信服務項目?,F(xiàn)已有多家網(wǎng)絡公司開始利用因特網(wǎng)正式提供國際國內的長途電話服務。雖然當時該公司還沒有提出在 IP 上傳輸話音的概念,但這確實是 網(wǎng)絡電話第一次成功的商業(yè)化和市場化。由于數(shù)據(jù)網(wǎng)是采用統(tǒng)計時分的方式分配、使用網(wǎng)絡資源,任何通信實體都不可能獨占某一信道,所以網(wǎng)絡電話可以大大提高網(wǎng)絡資源的利用率,降低運營成本。但是,我們知道視頻、音頻信號經(jīng)過模數(shù)轉換后也可以作為數(shù)據(jù)在互聯(lián)網(wǎng)上傳遞,因此將語音采樣,量化變?yōu)閿?shù)字信號,然后打包從網(wǎng)絡上傳輸,雙方也可以進 行通話,這就是網(wǎng)絡電話。數(shù)據(jù)包各自獨立地在網(wǎng)絡中傳遞,由于網(wǎng)絡狀況的變化和經(jīng)歷路徑的不同,數(shù)據(jù)包到達目的地的時間是不固定的、非實時的。 關鍵詞 網(wǎng)絡電話 語音 網(wǎng)絡 2 Abstract Network telephone, called IP telephone too, its development is very fast in recent years. This text design and realize one puter work software model of phone to reach puter, can not only can realize the voiceenabled chat betwe
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1