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

正文內(nèi)容

基于電話線路的數(shù)據(jù)通信程序的設(shè)計與實現(xiàn)畢業(yè)設(shè)計(編輯修改稿)

2025-06-26 12:41 本頁面
 

【文章內(nèi)容簡介】 第 3 頁 共 17頁 息。循環(huán)退出后,程序即結(jié)束。 MODEM 的控制 目前模擬電話線路被廣泛用于數(shù)據(jù)傳輸。調(diào)制解調(diào)器 (MODEM)被用來實現(xiàn)數(shù)字信號到模擬信號和模擬信號到數(shù)字信號的相互轉(zhuǎn)換。 MODEM 通過 PSTN (public switched telephone work,公用交換式電話網(wǎng))來傳輸數(shù)據(jù)。目前計算機控制調(diào)制解調(diào)器有兩種方法:一種方法是向 MODEM 發(fā)送 AT 指令,另一種方法是使用 TAPI (telephony application programming)即電話應(yīng)用程序接口。 AT 指令集是由 Hays 公司首先推出的用于控制自己開發(fā)的 smart modem 系列產(chǎn)品的命令集合, AT 命令集推出后得到廣泛的應(yīng)用,很快其它生產(chǎn)調(diào)制解調(diào)器的公司也都使用與 Hays 公司 AT 指令集兼容的 AT 指令集。開發(fā)者利用串行通信 API 再加上基本的 Hays 兼容的 AT 命令,就可以實現(xiàn)對 MODEM 的控制。但這種方法在 windows 中用起來很不方便。原因如下:許多 MODEM 制造商已向標準的 AT 指令集中添加了許多變種,這就使應(yīng)用程序與市售的所有 MODEM 保持完全兼容很困難。而 Windows 維護了一個數(shù)據(jù)庫,其中包含了商用調(diào)制解調(diào)器以及每個 MODEM 支持 的 AT 命令集變種,使用 TAPI 則可以訪問該數(shù)據(jù)庫,所以使用標準 TAPI函數(shù)生成呼叫和控制 MODEM 的應(yīng)用程序不需要知道 AT命令集的詳細內(nèi)容。 TAPI 通信編程 TAPI的含義 計算機電話集成( Computer Telephony Integration,縮寫 CTI)是計算機技術(shù)和電信技術(shù)相結(jié)合的產(chǎn)物。電子通信行業(yè)配備了各種各樣的硬件系統(tǒng),僅僅收集這些系統(tǒng)的標準、文檔和接口規(guī)范就是很復(fù)雜的任務(wù),要設(shè)計一個考慮所有情況的任務(wù)就更加困難。為了減輕開發(fā)者的負擔, Microsoft 公司和 Intel公司聯(lián) 合起來創(chuàng)建了 Windows Telephony API(TAPI)給應(yīng)用程序編程者提供一個接口,并且允許應(yīng)用程序無需改變就可以適應(yīng)多種多樣的電信系統(tǒng)。 TAPI 是 Microsoft 公司的 Windows 開放式服務(wù)結(jié)構(gòu)中的一部分,它包括兩個接口:開發(fā)人員使用的應(yīng)用程序接口和用于連接某種電話網(wǎng)絡(luò)的接口。 TAPI為通信應(yīng)用程序提供控制通信的功能,包括數(shù)據(jù)、傳真、語音,以及處理計算機與電話網(wǎng)之間的信號燈。 TAPI 服務(wù)為通信應(yīng)用程序提供了一種與設(shè)備無關(guān)的方法,避免了使用 AT指令直接訪問硬件可能造成的沖突,并且 讓應(yīng)用程序可以與包括數(shù)字綜合服務(wù)網(wǎng)( Intergrated Services Digital Network)在內(nèi)的各種通信網(wǎng)絡(luò)通信;同時還提供了訪問通信端口和設(shè)備的通用機制。這樣,多個應(yīng)用程序就可以共享這些設(shè)備, TAPI 管理對各個設(shè)備的訪問,讓通用程序協(xié)調(diào)使用這些設(shè)備。 TAPI 第 4 頁 共 17頁 的設(shè)計本身是可以擴展的,從而可以滿足未來通信網(wǎng)絡(luò)多方面的需求。 TAPI的體系結(jié)構(gòu) 圖 1 是 TAPI 體系結(jié)構(gòu)示意圖。作為中間層的 TAPI DLL,提供對服務(wù)提供者的管理,并在服務(wù)提供者與應(yīng)用程序之間進行信息傳遞。 TAPI 可以保證多個服務(wù)者和應(yīng)用程序能夠同時存在,并且不會發(fā)生相互沖突。 圖 1 TAPI的體系結(jié)構(gòu) 在底層將 TAPI 和實際的電話硬件連接是 TAPI 服務(wù)提供者( TAPI Service Provider 縮寫為 TSP) .TSP 一般都由硬件生產(chǎn)廠商提供。 TAPI 的基本概念 (1) 設(shè)備 ID 設(shè)備 ID 是從零開始按順序分配給每個設(shè)備的 ID;也就是說,如果安裝了 4個線路設(shè)備,這些線路沒備的設(shè)備 ID 相應(yīng)為 0、 3。 (2) 長度變化的數(shù)據(jù)結(jié)構(gòu) TAPI 使用的大多數(shù)的復(fù)雜數(shù)據(jù)結(jié)構(gòu)是變長的數(shù)據(jù)結(jié)構(gòu)。這些結(jié)構(gòu)的組織如圖二所示。最前面 l 的 3 個域分別是 dwTotalsize ,dwNeededsize 和dwUsedSize。在這三個域后面是固定長度的域,對每個給定的結(jié)構(gòu)類型固定長度的域都具有同樣的長度。一般而言,長度范圍從 0 到 300 個字節(jié)或者更長字節(jié)的結(jié)構(gòu)。 存儲在結(jié)構(gòu)中的可變部分的信息總是通過相對于結(jié)構(gòu)定長部分的一個偏移量來引用,以字節(jié)為單位的偏移量指出變長數(shù)據(jù)的起點的位置。信息量大小就是變長數(shù)據(jù)所占用的字節(jié)數(shù)。其大小包括字符串末尾的空字符。 這些結(jié)構(gòu)的內(nèi)存總是由應(yīng)用程序分配。但是數(shù)據(jù)結(jié)構(gòu)需要多大的內(nèi)存空間,應(yīng)用程序并 不總是知道,這就是設(shè)置前三個域的原因。將結(jié)構(gòu)傳送給 TAPI 之前,應(yīng)用程序可使用緩沖區(qū)的大小填充 dwTotalsize 域。 TAPI 首先證實該結(jié)構(gòu)有足夠大空間容納其定長部分,然后填充定長域,接著填入變長項。 TAPI 填入變長項直到?jīng)]有空間為止。最后 TAPI 用為獲得所有數(shù)據(jù)所需的空間量來填充 dwNeededsize 域,而 dwUsedsize 域用 TAPI 實際使用的空間量來填充。當應(yīng) 第 5 頁 共 17頁 用程序得到該結(jié)構(gòu)時,它首先應(yīng)該檢查 dwNeededsize 助和 dwUsedSize 域。如果兩者相等, TAPI 就能夠找出用于所有變長數(shù)據(jù)的控件。如果 dwusedsize 小于 dwNeededsize ,應(yīng)用程序可以檢查相應(yīng)的偏移量和域大小看是否有需要的變長數(shù)據(jù),如果這些數(shù)據(jù)域都被設(shè)置為零,那么應(yīng)用程序必須分配一個更大的緩沖區(qū)并且重試上述過程。 圖 2 TAPI所用到的數(shù)據(jù)結(jié)構(gòu) (3) 邏輯線路設(shè)備 線路( Line)指的是物理電話線路。線的終端位置一般稱為站( station)。線路設(shè)備( Line device)是任何連接計算機到電話線或者線路的物理設(shè)備,如調(diào)制解調(diào)器或 ISDN 卡等。線路設(shè)備不必位于應(yīng)用程序運 行的計算機上。 邏輯線路設(shè)備( logical line device)代表一根電話線。邏輯線路設(shè)備的性能取決于它所代表的實際電話線的性能。典型的電話線路稱為 POTS ( Plain old Telephone service 普通老式電話服務(wù))。在 Windows 中, POTS 線通過單一邏輯線路設(shè)備表示。一些數(shù)字電話線(例如 ISDN )包含了多個“信道”或者信息通路,可用來同時傳送不同類型的數(shù)據(jù),這些多信道數(shù)字線路通常由多邏輯線路設(shè)備表示,一個邏輯線路設(shè)備代表一個信道。邏輯電話( Logical phone)表示電話。一部典型的電話包括叉簧和轉(zhuǎn)換器組成。叉簧是可以將電話與線路連接或掛斷的開關(guān),轉(zhuǎn)換器是一種由揚聲器和話筒組成的設(shè)備,話筒可以將聲能轉(zhuǎn)換為電能,或?qū)㈦娔苻D(zhuǎn)換為聲能。 (4) 地址 第 6 頁 共 17頁 地址 (Address) 是字母、數(shù)字和控制字符組成的字符串,它們定義到電話、調(diào)制解調(diào)器或計算機的路徑。線路、電話和地址是靜態(tài)的,他們有一定程度的持久性,線路或與計算機連接的電話不經(jīng)常改變,線路的電話號碼也一樣。 (5) 呼叫 呼叫 (call) 是當兩個線路設(shè)備由電話網(wǎng)絡(luò)連接在一起時存在的一種交互狀態(tài)。呼叫方 (calling party)是發(fā)起呼叫的一方,而被呼叫方 (called party)則是應(yīng)答呼叫的一方。對呼叫可以進行連接、置于保持狀態(tài)以及傳送、召開會議、暫停、恢復(fù)等操作。 每個呼叫在期生存期都會經(jīng)歷許多狀態(tài)。在呼叫改變狀態(tài)時, Windows 會通知控制應(yīng)用程序。呼叫狀態(tài)包括 DAILTONE、 RINGING 和 CONNECTED 等。在這幾個狀態(tài)中, CONNECTED 狀態(tài)尤為重要,因為一旦呼叫轉(zhuǎn)換到這種狀態(tài),數(shù)據(jù)就可以通過線路發(fā) 送出去,到達信宿方。已經(jīng)拆接的呼叫和還沒有開始的呼叫所處的狀態(tài)都是 IDLE。 3 程序設(shè)計思想與流程 使用 TAPI 開發(fā)的基本思路 使用 TAPI 能夠比較方便地發(fā)出一個呼叫和應(yīng)答一個呼叫,它對呼叫的操作簡單方便,給開發(fā)者帶來了很大的方便??偟膩碚f使用 TAPI 開發(fā) MODEM 呼叫控制通信程序流程如下所示: (1) 初始化 TAPI :通過調(diào)用 linelnitialize ( )函數(shù)來完成。 TAPI 通過調(diào)用這兩個函數(shù)來加載 Tapi32 .dll 和有關(guān)的電話設(shè)備驅(qū)動程序,并且指定檢測線路設(shè)備的狀態(tài)和事 件的回調(diào)函數(shù)。 (2) 協(xié)商 TAPI 版本: IineNegotiateAPIVersion ( )函數(shù)將找出對應(yīng)于用戶的應(yīng)用程序及線路設(shè)備服務(wù)者通用的 TAPI 的最高版本。 (3) 獲取線路
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1