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

正文內容

基于linux平臺的可視語音聊天系統(tǒng)設計與實現(xiàn)(編輯修改稿)

2025-07-15 15:38 本頁面
 

【文章內容簡介】 ,相信我們不能很快看到結果。一般說來, 目前 GNOME 吸引的公司比較多,但是 KDE/Qt 的開發(fā)的效率和質量比 GNOME 高,而且在 Office/嵌入式環(huán)境中先走一步,在一定時間內還將處于優(yōu)勢地位。 QT Socket技術介紹QT是諾基亞公司開發(fā)的一個跨平臺的C++圖形用戶界面應用程序框架。使用Qt開發(fā)的軟件可以在任何支持的平臺上編譯與運行,而不需要修改源代碼。使用QT開發(fā)的軟件會自動依據平臺的不同,而表現(xiàn)出平臺特有的圖形界面風格。QT為實現(xiàn)通信功能,特別提供了QTNetwork來支持網絡程序設計功能,支持通用協(xié)議,如HTTP、FTP和DNS,包括對異步HTTP ,并支持較低層的TCP/IP和UDP協(xié)議,提供了如QTcpSocket類、QTcpServer類和QUdpSocket類等供開發(fā)人員使用[6]。QTcpSocket類提供一個TCP套接字。TCP是一個面向連接,可靠的通信協(xié)議,非常適合于連續(xù)不斷的數據傳遞。QTcpSocket是QAbstractSocket類非常方便的一個子類,幫助開發(fā)人員創(chuàng)建一個TCP連接和數據流交流。QTcpServer類用來與遠端伺服器連線,如果開發(fā)人員要接受客戶端連線,則使用QTcpServer。QTcpServer使用listen()方法開始傾開所指定的連接埠,開發(fā)人員可以使用isListening()方法測試是否正在傾聽連線,當連線發(fā)生時,QTcpServer會發(fā)出newConnection()的Signal,開發(fā)人員可以使用QTcpServer的nextPendingConnection()取得代表客戶端連線的QTcpSocket物件,接下來就可以使用它來與客戶端進行資料傳輸。使用 。創(chuàng)建對象文本連接服務器返回信號響應信號的函數發(fā)送或接收數據斷開服務器 tcp傳輸客戶端流程圖 QT信號與槽機制信號和槽機制是QT的核心機制,要精通QT編程就必須對信號和槽有所了解。信號和槽是一種高級接口,應用于對象之間的通信,它是QT的核心特性,也是QT區(qū)別于其它工具包的重要地方。信號和槽是QT自行定義的一種通信機制,它獨立于標準的C/C++語言,因此要正確的處理信號和槽,必須借助一個稱為moc的QT工具,該工具是一個C++預處理程序,它為高層次的事件處理自動生成所需要的附加代碼[7]。在我們所熟知的很多GUI工具包中,窗口小部件都有一個回調函數用于響應它們能觸發(fā)的每個動作,這個回調函數通常是一個指向某個函數的指針。但是,在QT中信號和槽取代了這些凌亂的函數指針,使得我們編寫這些通信程序更為簡潔明了。 信號和槽能攜帶任意數量和任意類型的參數,他們是類型完全安全的,不會像回調函數那樣產生core dumps。所有從QObject或其子類(例如Qwidget)派生的類都能夠包含信號和槽。當對象改變其狀態(tài)時,信號就由該對象發(fā)射出去,這就是對象所要做的全部事情,它不知道另一端是誰在接收這個信號。這就是真正的信息封裝,它確保對象被當作一個真正的軟件組件來使用。槽用于接收信號,但它們是普通的對象成員函數。一個槽并不知道是否有任何信號與自己相連接。而且,對象并不了解具體的通信機制。你可以將很多信號與單個的槽進行連接,也可以將單個的信號與很多的槽進行連接,甚至于將一個信號與另外一個信號相連接也是可能的,這時無論第一個信號什么時候發(fā)射系統(tǒng)都將立刻發(fā)射第二個信號??傊?,信號與槽構造了一個強大的部件編程機制。當某個信號對其客戶或所有者發(fā)生的內部狀態(tài)發(fā)生改變,信號被一個對象發(fā)射。只有 定義過這個信號的類及其派生類能夠發(fā)射這個信號。當一個信號被發(fā)射時,與其相關聯(lián)的槽將被立刻執(zhí)行,就象一個正常的函數調用一樣。信號槽機制完全獨立于任何GUI事件循環(huán)。只有當所有的槽返回以后發(fā)射函數才返回。 如果存在多個槽與某個信號相關聯(lián),那么,當這個信號被發(fā)射時,這些槽將會一個接一個地執(zhí)行,但是它們執(zhí)行的順序將會是隨機的、不確定的,我們不能人為地指定哪個先執(zhí)行、哪個后執(zhí)行。信號的聲明是在頭文件中進行的,QT的signals關鍵字指出進入了信號聲明區(qū),隨后即可聲明自己的信號。槽是普通的C++成員函數,可以被正常調用,它們唯一的特殊性就是很多信號可以與其相關聯(lián)。當與其關聯(lián)的信號被發(fā)射時,這個槽就會被調用。槽可以有參數,但槽的參數不能有缺省值。既然槽是普通的成員函數,因此與其它的函數一樣,它們也有存取權限。槽的存取權限決定了誰能夠與其相關聯(lián)。同普通的C++成員函數一樣,槽函數也分為三種類型,即public slots、private slots和protected slots。public slots:在這個區(qū)內聲明的槽意味著任何對象都可將信號與之相連接。這對于組件編程非常有用,你可以創(chuàng)建彼此互不了解的對象,將它們的信號與槽進行連接以便信息能夠正確的傳遞。 protected slots:在這個區(qū)內聲明的槽意味著當前類及其子類可以將信號與之相連接。這適用于那些槽,它們是類實現(xiàn)的一部分,但是其界面接口卻面向外部。 private slots:在這個區(qū)內聲明的槽意味著只有類自己可以將信號與之相連接。這適用于聯(lián)系非常緊密的類。 槽也能夠聲明為虛函數,這也是非常有用的。槽的聲明也是在頭文件中進行的。通過調用QObject對象的connect函數來將某個對象的信號與另外一個對象的槽函數相關聯(lián),這樣當發(fā)射者發(fā)射信號時,接收者的槽函數將被調用。這個函數的作用就是將發(fā)射者sender對象中的信號signal與接收者receiver中的member槽函數聯(lián)系起來。當指定信號signal時必須使用QT的宏SIGNAL(),當指定槽函數時必須使用宏SLOT()。如果發(fā)射者與接收者屬于同一個對象的話,那么在connect調用中接收者參數可以省略。元對象編譯器moc對C++文件中的類聲明進行分析并產生用于初始化元的C++代碼,元對象包含全部信號和槽的名字以及指向這些函數的指針。moc讀C++源文件,如果發(fā)現(xiàn)有Q_OBJECT宏聲明的類,它就會生成另外一個C++源文件,這個新生成的文件中包含有該類的元對象代碼。例如,在這個文件中包含有信號或槽的聲明,那么在編譯之前 moc ++源文件并將其提交給編譯器;類似地。元對象代碼是signal/slot機制所必須的。用moc產生的C++源文件必須與類實現(xiàn)一起進行編譯和連接,或者用include語句將其包含到類的源文件中。moc并不擴展include或者define宏定義,它只是簡單的跳過所遇到的任何預處理指令。3 系統(tǒng)需求分析 系統(tǒng)設計目標 根據對其它聊天系統(tǒng)的調研,我認為本設計需要滿足以下幾個系統(tǒng)設計目標:(1)實用性原則:真正為局域網的實際工作服務,按照需求的輕重緩急,合理設計本系統(tǒng)。(2)可靠性原則:必須為用戶提供安全的服務,尤其是要保證傳輸的穩(wěn)定性。(3)友好性原則:使用本系統(tǒng)的用戶相當一部分對計算機知識了解很少,所以系統(tǒng)操作上要求簡單方便,便于用戶掌握。 (4)可擴展性原則:采用開放的標準和接口,便于系統(tǒng)向更大的規(guī)模和功能擴展。 系統(tǒng)總體需求分析需求分析的任務就是完全弄清用戶(顧客)對軟件系統(tǒng)的確切要求,用規(guī)范的格式表達出來。也可以說,需求分析的任務就是給出一個將要用軟件來解決的一個問題的初始定義。根據IEEE軟件工程標準詞匯表年中對需求的描述為:(1)用戶解決問題或達到目的所需要的條件或權能。(2)系統(tǒng)或系統(tǒng)部件要滿足合同、標準、規(guī)范或其他正式規(guī)定文檔所需具有的條件或權能。(3)一種能反映上面(1)或(2)所描述的條件或權能的文檔說明。 功能需求本系統(tǒng)分為兩個子系統(tǒng):1. 局域網內簡單文字聊天子系統(tǒng),它是在局域網內選擇相應的用戶,以便對之發(fā)送文字信息。 在線交流系統(tǒng)功能描述表功能名稱在線交流系統(tǒng)功 能描 述用戶雙擊在線計算機列表中的一項,然后彈出一個對話框,在該對話框中與指定用戶進行交流。輸入項輸入需要發(fā)送的消息內容,點擊發(fā)送按鈕處 理描 述,彈出一個對話框。,點擊發(fā)送按鈕。對方接受到消息后,顯示在接收窗口中,并將消息顯示在對話框的消息記錄里面。否則,直接在消息記錄中增加接收到的消息。消息記錄為:“計算機名(IP地址)”在“時間”說:*****輸出項在對話框中的消息記錄中顯示聊天記錄界 面要 求簡介,直觀,操作方便。需要發(fā)送的消息內容選中用戶、彈出對話框、發(fā)送消息聊天記錄輸 入處 理輸 出 文本聊天系統(tǒng)IPO圖2. 文件傳輸系統(tǒng),它是在先把需要傳輸的文件轉換成相就的數據流傳關,到了目的主機再由之還原。 文件傳輸系統(tǒng)功能描述表功能名稱文件傳輸系統(tǒng)功 能描 述用戶雙擊在線計算機列表中的一項,然后彈出一個對話框,彈出對話框后單擊發(fā)送文件按鈕,選擇文件進行傳輸輸入項根據打開的對話框,選擇需要傳輸的文件處 理描 述,彈出一個對話框。,彈出選擇文件對話框,按發(fā)送按鈕發(fā)送文件,接收方收到消息后選擇接收文件,彈出一個保存文件對話框,選擇保存文件地址,然后確定,就進行文件傳輸過程輸出項接收端接收文件并保存界 面要 求簡介,直觀,操作方便。需要發(fā)送的文件選中用戶、彈出對話框、選擇文件、保存接收方接收文件輸 入處 理輸 出 文件傳輸系統(tǒng)IPO圖本系統(tǒng)的文字聊天系統(tǒng)實現(xiàn)的功能類似于QQ用戶之間的聊天。在設計系統(tǒng)時,應根據簡潔、流暢的特點安排布局,在編制程序時應充分考慮這一點傳輸的穩(wěn)定、快捷,真正做到“簡潔、高效、流暢、安全”的使用環(huán)境。用戶使用的過程為,先是用戶登開啟本軟件,軟件自動檢索局域網的其它用戶,并以之成為用戶列表,讓用戶選擇。當用戶發(fā)現(xiàn)所要連接的用戶之后,雙擊該用戶,則出現(xiàn)發(fā)送窗口。用戶用之來發(fā)送消息或者文件。接收方可以選擇接收或者拒絕相應的傳輸文件。 性能要求(1)能夠實現(xiàn)快速的登錄與退出。(2)用戶能夠及時接收消息以及快速回復消息。(3)文件及時,無差錯傳輸。 測試環(huán)境由于條件有限,不可能多臺電腦安裝Linux系統(tǒng)進行測試,因此采用虛擬機軟件進行測試,原系統(tǒng)為Win7,現(xiàn)使用一下軟件進行測試環(huán)境的搭建:(1)虛擬機版本:VMware Workstation 。(2)虛擬系統(tǒng)數量:23個。(3)Linux版本:Red Hat 。 可行性研究 時間可行性該項目自選題至答辯有4個月時間,時間充裕。 技術可行性本系統(tǒng)是一個局域網聊天系統(tǒng),類似于飛鴿傳書,現(xiàn)有的網絡通信技術已經非常成熟,利用
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1