![基于LINUX聊天客戶端模塊設(shè)計(jì)與實(shí)現(xiàn)論文_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-7/3/02f46396-8d3d-4fb3-9851-3f0e5149f922/02f46396-8d3d-4fb3-9851-3f0e5149f9221.gif)
![基于LINUX聊天客戶端模塊設(shè)計(jì)與實(shí)現(xiàn)論文_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-7/3/02f46396-8d3d-4fb3-9851-3f0e5149f922/02f46396-8d3d-4fb3-9851-3f0e5149f9222.gif)
![基于LINUX聊天客戶端模塊設(shè)計(jì)與實(shí)現(xiàn)論文_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-7/3/02f46396-8d3d-4fb3-9851-3f0e5149f922/02f46396-8d3d-4fb3-9851-3f0e5149f9223.gif)
![基于LINUX聊天客戶端模塊設(shè)計(jì)與實(shí)現(xiàn)論文_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-7/3/02f46396-8d3d-4fb3-9851-3f0e5149f922/02f46396-8d3d-4fb3-9851-3f0e5149f9224.gif)
![基于LINUX聊天客戶端模塊設(shè)計(jì)與實(shí)現(xiàn)論文_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-7/3/02f46396-8d3d-4fb3-9851-3f0e5149f922/02f46396-8d3d-4fb3-9851-3f0e5149f9225.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、xx學(xué)院本 科 生 畢 業(yè) 論 文( 屆)題 目: 基于linux聊天客戶端模塊設(shè)計(jì)與實(shí)現(xiàn)系 別: 計(jì)算機(jī)科學(xué)系 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí): 作者姓名: 學(xué)號(hào): 指導(dǎo)教師: 職稱: 學(xué)歷: 論文成績(jī): 20 年 月目 錄摘 要1abstract1緒 論3第一章 概述41.1 linux的網(wǎng)絡(luò)功能與編程41.1.1 linux概述41.1.2 linux的特點(diǎn)51.1.3 linux的網(wǎng)絡(luò)功能71.1.4 linux提供的網(wǎng)絡(luò)服務(wù)71.2 tcp/ip協(xié)議簡(jiǎn)介81.3 socket的簡(jiǎn)介91.4 arm的簡(jiǎn)介9第二章 規(guī)劃設(shè)計(jì)112.1 課題來(lái)源112.2 需求分析11第三章 系統(tǒng)分析
2、與設(shè)計(jì)方案133.1 聊天系統(tǒng)客戶端的總體設(shè)計(jì)要點(diǎn)133.2 聊天系統(tǒng)客戶端的設(shè)計(jì)步驟及功能模塊劃分133.3 聊天系統(tǒng)客戶端各功能模塊14第四章 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)234.1 開(kāi)發(fā)環(huán)境工具234.2 硬件環(huán)境244.3 網(wǎng)站功能模塊的測(cè)試26第五章 總結(jié)315.1 畢業(yè)設(shè)計(jì)總結(jié)和展望315.2 經(jīng)驗(yàn)和感想31結(jié) 束 語(yǔ)33參考文獻(xiàn)34指導(dǎo)教師評(píng)語(yǔ)閱卷人評(píng)語(yǔ) 基于linux聊天客戶端模塊設(shè)計(jì)與實(shí)現(xiàn)計(jì)算機(jī)科學(xué)系 20 級(jí) 班 摘 要:聊天室是一種廣泛應(yīng)用于網(wǎng)絡(luò)的聊天方式,操作非常簡(jiǎn)單,功能也很豐富??梢允褂枚喾N編程類語(yǔ)言來(lái)設(shè)計(jì)和開(kāi)發(fā)出功能比較完善的網(wǎng)絡(luò)聊天室。整個(gè)項(xiàng)目介紹在linux操作系統(tǒng)下設(shè)計(jì)和
3、實(shí)現(xiàn)的一個(gè)網(wǎng)絡(luò)聊天室客戶端的全過(guò)程。本系統(tǒng)采用c/s構(gòu)架設(shè)計(jì),使用了linux下c編程,結(jié)合qt編譯語(yǔ)言,開(kāi)發(fā)出簡(jiǎn)潔美觀和布局合理的用戶gui界面;利用了socket網(wǎng)絡(luò)開(kāi)發(fā)技術(shù)實(shí)現(xiàn)客戶端和服務(wù)器端的連接訪問(wèn);通過(guò)對(duì)數(shù)據(jù)流操作的合理解析,實(shí)現(xiàn)信息傳遞、接受和數(shù)據(jù)保存。同時(shí),采用多線程、多任務(wù)的設(shè)計(jì)思想,開(kāi)發(fā)出性能穩(wěn)定,功能全面的服務(wù)器。本篇論文介紹客戶端的實(shí)現(xiàn),主要功能包括:實(shí)現(xiàn)聊天室的登錄、注冊(cè)、群聊以及私聊。最后將整個(gè)客戶端程序移植到arm開(kāi)發(fā)板上,在板子上完整的實(shí)現(xiàn)系統(tǒng)的功能。使本聊天室客戶端可以在移動(dòng)設(shè)備上實(shí)現(xiàn)功能、擺脫了傳統(tǒng)的pc機(jī)限制。關(guān)鍵詞:聊天室;linux系統(tǒng);qt語(yǔ)言;so
4、cket;armthe design and emplementation of chatroom client based on linux class ,grade ,computer of scienceabstract: chat room is a wide range of applications in the network chat mode, the operation is simple, the function is also very rich. you can use a variety of programming language to design and
5、develop a function more perfect network chat room. the entire project is introduced in the linux operating system design and implementation of a network chat room client process. this system adopts c / s architecture design, the use of linux c programming, with qt language compiler, a simple and rea
6、sonable layout of the user interface gui; use of socket web development technology to realize the connection between the client and server access; through the data stream operation of rational analysis, the realization of information transmission, receiving and data save. at the same time, multi-thr
7、eading, task design, developed a stable performance, fully functional server. this paper introduces the realization of the client, the main function includes: the realization of the chat room login, registration, group chat and private chat. finally the client program to transplanted into the arm de
8、velopment board, the board on the full implementation of the function of the system. the chat client allows mobile devices to achieve function, get rid of the traditional pc machine limited.keyword: chat room; linux; qt; socket;arm2緒 論linux 操作系統(tǒng)作為一個(gè)開(kāi)源的操作系統(tǒng)被越來(lái)越多的人所應(yīng)用,基于linux系統(tǒng)的聊天系統(tǒng)優(yōu)勢(shì)在于使用方便快捷,易學(xué)易懂,具有即
9、時(shí)性。尤其是對(duì)于企事業(yè)單位具有可靠性,能夠?qū)崿F(xiàn)消息的即時(shí)發(fā)布與收集。不需使用互聯(lián)網(wǎng),只需局域網(wǎng)既可實(shí)現(xiàn)通訊,省時(shí)省力。另外該系統(tǒng)對(duì)硬件的需求很低,不影響電腦的其他工作。因此制作一個(gè)linux 操作系統(tǒng)下的擁有人性化界面的實(shí)時(shí)通訊工具,將給那些剛剛接觸linux操作系統(tǒng)的用戶帶來(lái)極大的方便,而且通過(guò)設(shè)計(jì)這樣的一個(gè)應(yīng)用程序還能更好的學(xué)習(xí)網(wǎng)絡(luò)編程知識(shí)和掌握l(shuí)inux平臺(tái)上應(yīng)用程序設(shè)計(jì)開(kāi)發(fā)的過(guò)程,將大學(xué)四年所學(xué)知識(shí)綜合運(yùn)用,以達(dá)到檢驗(yàn)學(xué)習(xí)成果的目的。第一章 概述1.1 linux的網(wǎng)絡(luò)功能與編程 1.1.1 linux概述 linux是一種自由和開(kāi)放源碼的類unix操作系統(tǒng)。目前存在著許多不同的lin
10、ux,但它們都使用了linux內(nèi)核。linux可安裝在各種計(jì)算機(jī)硬件設(shè)備中,從手機(jī)、平板電腦、路由器和視頻游戲控制臺(tái),到臺(tái)式計(jì)算機(jī)、大型機(jī)和超級(jí)計(jì)算機(jī)。linux是一個(gè)領(lǐng)先的操作系統(tǒng),世界上運(yùn)算最快的10臺(tái)超級(jí)計(jì)算機(jī)運(yùn)行的都是linux操作系統(tǒng)。嚴(yán)格來(lái)講,linux這個(gè)詞本身只表示linux內(nèi)核1,但實(shí)際上人們已經(jīng)習(xí)慣了用linux來(lái)形容整個(gè)基于linux內(nèi)核,并且使用gnu 工程各種工具和數(shù)據(jù)庫(kù)的操作系統(tǒng)。linux 操作系統(tǒng)是unix 操作系統(tǒng)的一種克隆系統(tǒng)。它誕生于1991 年的10 月5 日(這是第一次正式向外公布的時(shí)間)。以后借助于internet 網(wǎng)絡(luò),并經(jīng)過(guò)全世界各地計(jì)算機(jī)愛(ài)好者
11、的共同努力下,現(xiàn)已成為今天世界上使用最多的一種unix 類操作系統(tǒng),并且使用人數(shù)還在迅猛增長(zhǎng)。 linux 操作系統(tǒng)的誕生、發(fā)展和成長(zhǎng)過(guò)程始終依賴著以下五個(gè)重要支柱:unix 操作系統(tǒng)、minix 操作系統(tǒng)、gnu 計(jì)劃、posix 標(biāo)準(zhǔn)和internet 網(wǎng)絡(luò)。linux 操作系統(tǒng)剛開(kāi)始時(shí)并沒(méi)有被稱作linux,linus 給他的操作系統(tǒng)取名為freax,其英文含義是怪誕的、怪物、異想天開(kāi)等意思。在他將新的操作系統(tǒng)上載到ftp,funet。fi服務(wù)器上時(shí),管理員ari lemke很不喜歡這個(gè)名稱。他認(rèn)為既然是linus 的操作系統(tǒng)就取其諧音linux 作為該操作系統(tǒng)的目錄吧,于是linux
12、這個(gè)名稱就開(kāi)始流傳下來(lái)。 在linus 的自傳just for fun一書(shū)中,linus 解釋說(shuō):坦白地說(shuō),我從來(lái)沒(méi)有想到過(guò)要用linux 這個(gè)名稱發(fā)布這個(gè)操作系統(tǒng),因?yàn)檫@個(gè)名字有些太自負(fù)了。而我為最終發(fā)布版準(zhǔn)備的是什么名字呢freax。實(shí)際上,內(nèi)核代碼中某些早期的makefile - 用于描述如何編譯源代碼的文件 - 文件中就已經(jīng)包含有freax這個(gè)名字了,大約存在了半年左右。但其實(shí)這也沒(méi)什么關(guān)系,在當(dāng)時(shí)還不需要一個(gè)名字,因?yàn)槲疫€沒(méi)有向任何人發(fā)布過(guò)內(nèi)核代碼。而ari lemke,他堅(jiān)持要用自己的方式將內(nèi)核代碼放到ftp 站點(diǎn)上,并且非常不喜歡freax 這個(gè)名字。他堅(jiān)持要用現(xiàn)在這個(gè)名字(li
13、nux),我承認(rèn)當(dāng)時(shí)我并沒(méi)有跟他多爭(zhēng)論。但這都是他取的名字。所以我可以光明正大地說(shuō)我并不自負(fù),或者部分坦白地說(shuō)我并沒(méi)有本位主義思想。但我想好吧,這也是個(gè)好名字,而且以后為這事我總能說(shuō)服別人,就像我現(xiàn)在做的這樣。1.1.2linux的特點(diǎn) linux的主要特點(diǎn):linux之所以能在嵌人式系統(tǒng)領(lǐng)域取得如此輝煌的成績(jī),與其自身的優(yōu)良特性是分不開(kāi)的。與其他操作系統(tǒng)相比,linux具有以下一系列顯著的特點(diǎn)。1.模塊化程度高linux的內(nèi)核設(shè)計(jì)非常精巧,分成進(jìn)程調(diào)度、內(nèi)存管理、進(jìn)程間通信、虛擬文件系統(tǒng)和網(wǎng)絡(luò)接口五大部分;其獨(dú)特的模塊機(jī)制可根據(jù)用戶的需要,實(shí)時(shí)地將某些模塊插入或從內(nèi)核中移走,使得linux系
14、統(tǒng)內(nèi)核可以裁剪得非常小巧,很適合于嵌入式系統(tǒng)的需要。2.源碼公開(kāi)由于linux系統(tǒng)的開(kāi)發(fā)從一開(kāi)始就與gnu項(xiàng)目緊密地結(jié)合起來(lái),所以它的大多數(shù)組成部分都直接來(lái)自gnu項(xiàng)目。任何人、任何組織只要遵守gpl條款,就可以自由使用linux 源代碼,為用戶提供了最大限度的自由度。這一點(diǎn)也正投嵌入式系統(tǒng)所好,因?yàn)榍度胧较到y(tǒng)應(yīng)用千差萬(wàn)別,設(shè)計(jì)者往往需要針對(duì)具體的應(yīng)用對(duì)源碼進(jìn)行修改和優(yōu)化, 所以是否能獲得源代碼 對(duì)于嵌入式系統(tǒng)的開(kāi)發(fā)是至關(guān)重要的2。加之linux的軟件資源十分豐富,每種通用程序在linux上幾乎都可以找到,并且數(shù)量還在不斷增加。這一切就使設(shè) 計(jì)者在其基礎(chǔ)之上進(jìn)行二次開(kāi)發(fā)變得非常容易。另外,由于
15、linux源代碼公開(kāi),也使用戶不用擔(dān)心有“后閘”等安全隱患。同時(shí),源碼開(kāi)放給各教育機(jī)構(gòu)提供極大的方便,從而也促進(jìn)了linux的學(xué)習(xí)、推廣和應(yīng)用。3.豐富的網(wǎng)絡(luò)功能linux從誕生之日起就與internet密不可分,支持各種標(biāo)準(zhǔn)的internet網(wǎng)絡(luò)協(xié)議,并且很容易移植到嵌入式系統(tǒng)當(dāng)中。目前,linux幾乎支持所有主流的網(wǎng)絡(luò)硬件、網(wǎng)絡(luò)協(xié)議和文件系統(tǒng),因此它是nfs的一個(gè)很好的平臺(tái)。另一方面,由于linux有很好的文件系統(tǒng)支持(例如,它支持ext2、fat32、romfs等文件系統(tǒng)),是數(shù)據(jù)各份、同步和復(fù)制的良好平臺(tái),這些都為開(kāi)發(fā)嵌入式系統(tǒng)應(yīng)用打下了堅(jiān)實(shí)的基礎(chǔ)。4.與unix完全兼容目前,在lin
16、ux中所包含的工具和實(shí)用程序,可以完成unix的所有主要功能。但由于linux不是為實(shí)時(shí)而設(shè)計(jì)的,因而這就成了linux在實(shí)時(shí)系統(tǒng)中應(yīng)用的最大遺憾。不過(guò),目前有眾多的自由軟件愛(ài)好者正在為此進(jìn)行不懈的努力,也取得了諸多成果5.完全免費(fèi)linux是一款免費(fèi)的操作系統(tǒng),用戶可以通過(guò)網(wǎng)絡(luò)或其他途徑免費(fèi)獲得,并可以任意修改其源代碼。這是其他的操作系統(tǒng)所做不到的。正是由于這一點(diǎn),來(lái)自全世界的無(wú)數(shù)程序員參與了linux的修改、編寫(xiě)工作,程序員可以根據(jù)自己的興趣和靈感對(duì)其進(jìn)行改變。這讓linux吸收了無(wú)數(shù)程序員的精華,不斷壯大。 6.多用戶、多任務(wù)linux支持多用戶,各個(gè)用戶對(duì)于自己的文件設(shè)備有自己特殊的權(quán)
17、利,保證了各用戶之間互不影響。多任務(wù)則是現(xiàn)在電腦最主要的一個(gè)特點(diǎn),linux可以使多個(gè)程序同時(shí)并獨(dú)立地運(yùn)行。 7.良好的界面 linux同時(shí)具有字符界面和圖形界面。在字符界面用戶可以通過(guò)鍵盤輸入相應(yīng)的指令來(lái)進(jìn)行操作。它同時(shí)也提供了類似windows圖形界面的x-window系統(tǒng),用戶可以使用鼠標(biāo)對(duì)其進(jìn)行操作。在x-window環(huán)境中就和在windows中相似,可以說(shuō)是一個(gè)linux版的windows。 8.可靠的安全、穩(wěn)定性能 linux采取了許多安全技術(shù)措施,其中有對(duì)讀、寫(xiě)進(jìn)行權(quán)限控制、審計(jì)跟蹤、核心授權(quán)等技術(shù),這些都為安全提供了保障。linux由于需要應(yīng)用到網(wǎng)絡(luò)服務(wù)器,這對(duì)穩(wěn)定性也有比較高
18、的要求,實(shí)際上linux在這方面也十分出色。 9.支持多種平臺(tái) linux可以運(yùn)行在多種硬件平臺(tái)上,如具有x86、680x0、sparc、alpha等處理器的平臺(tái)。此外linux還是一種嵌入式操作系統(tǒng),可以運(yùn)行在掌上電腦、機(jī)頂盒或游戲機(jī)上。2001年1月份發(fā)布的linux 2.4版內(nèi)核已經(jīng)能夠完全支持intel 64位芯片架構(gòu)。同時(shí)linux也支持多處理器技術(shù)。多個(gè)處理器同時(shí)工作,使系統(tǒng)性能大大提高。1.1.3 linux的網(wǎng)絡(luò)功能(一)完善的內(nèi)置網(wǎng)絡(luò) linux在通信和網(wǎng)絡(luò)功能方面優(yōu)于其他操作系統(tǒng)。 其他操作系統(tǒng)不具有如此緊密地和內(nèi)核結(jié)合在一起的連接網(wǎng)絡(luò)能力,也沒(méi)有內(nèi)置這些聯(lián)網(wǎng)特性的靈活性。
19、 linux為用戶提供了完善、強(qiáng)大的網(wǎng)絡(luò)功能。 linux免費(fèi)提供大量支持internet的軟件3。internet是在unix領(lǐng)域中建立并繁榮起來(lái)的,因此,使用linux十分方便。用戶可用linux通過(guò)internet網(wǎng)絡(luò)進(jìn)行通信。(二)文件傳輸 用戶能通過(guò)linux命令完成內(nèi)部信息或文件的傳輸。(三)遠(yuǎn)程訪問(wèn)linux不僅允許進(jìn)行文件和程序傳輸,還為系統(tǒng)管理員和技術(shù)人員提供訪問(wèn)其他系統(tǒng)的窗口。通過(guò)遠(yuǎn)程訪問(wèn)功能,一個(gè)技術(shù)人員能夠有效地為多個(gè)系統(tǒng)服務(wù),即使那些系統(tǒng)位于相距很遠(yuǎn)的地方。1.1.4 linux提供的網(wǎng)絡(luò)服務(wù)(一)電子郵件服務(wù)linux系統(tǒng)通過(guò)sendmail實(shí)現(xiàn)電子郵件功能。它具有
20、穩(wěn)定與可擴(kuò)充的特性,經(jīng)過(guò)適當(dāng)?shù)脑O(shè)定再配合必要的硬件能夠承受上千個(gè)使用者的負(fù)荷,而不會(huì)有任何錯(cuò)誤。(二)網(wǎng)頁(yè)(web)服務(wù)linux提供很多網(wǎng)頁(yè)服務(wù)器,如cern httpd,ncsa httpd,apache等。其中,apache是世界排名第一的web服務(wù)器。根據(jù)著名的www服務(wù)器公司調(diào)查,世界上有50%以上的www服務(wù)器都在使用apache。(三)ftp服務(wù)ftp(file transfer protocol,文件傳輸協(xié)議)實(shí)現(xiàn)了客戶機(jī)在ftp服務(wù)器上傳與下載文件的功能。(四)域名服務(wù)用ip地址訪問(wèn)internet上的主機(jī),需要記憶很多枯燥的數(shù)字。域名服務(wù)器可以實(shí)現(xiàn)ip地址和主機(jī)域名之間的轉(zhuǎn)
21、換。因此,訪問(wèn)一臺(tái)internet上的主機(jī)時(shí),只要輸入主機(jī)的域名,即可訪問(wèn)該主機(jī)提供的服務(wù)。(五)新聞(news)服務(wù)usenet(友思網(wǎng))是一個(gè)大的告示板系統(tǒng),采用階層式的架構(gòu),包含有多種討論話題,計(jì)算機(jī)經(jīng)usenet以nntp(network news transfer protocol)通信協(xié)議互換文章。(六)其他網(wǎng)絡(luò)服務(wù) 包括撥號(hào)服務(wù)器、dhcp服務(wù)、bbs服務(wù)、防火墻服務(wù)、路由器服務(wù)等。1.2 tcp/ip協(xié)議簡(jiǎn)介(一)簡(jiǎn)介tcp/ip協(xié)議組之所以流行,部分原因是因?yàn)樗梢杂迷诟鞣N各樣的信道和底層協(xié)議(例如t1和x.25、以太網(wǎng)以及rs-232串行接口)之上。確切地說(shuō),tcp/ip協(xié)
22、議是一組包括tcp協(xié)議和ip協(xié)議,udp(user datagram protocol)協(xié)議、icmp(internet control message protocol)協(xié)議和其他一些協(xié)議的協(xié)議組。tcp/ip協(xié)議并不完全符合osi的七層參考模型4。而tcp/ip通訊協(xié)議采用了4層的層級(jí)結(jié)構(gòu),每一層都呼叫它的下一層所提供的網(wǎng)絡(luò)來(lái)完成自己的需求。這4層分別為: 應(yīng)用層:應(yīng)用程序間溝通的層,如簡(jiǎn)單電子郵件傳輸(smtp)、文件傳輸協(xié)議(ftp)、網(wǎng)絡(luò)遠(yuǎn)程訪問(wèn)協(xié)議(telnet)等。 傳輸層:在此層中,它提供了節(jié)點(diǎn)間的數(shù)據(jù)傳送服務(wù),如傳輸控制協(xié)議(tcp)、用戶數(shù)據(jù)報(bào)協(xié)議(udp)等,tcp和ud
23、p給數(shù)據(jù)包加入傳輸數(shù)據(jù)并把它傳輸?shù)较乱粚又?,這一層負(fù)責(zé)傳送數(shù)據(jù),并且確定數(shù)據(jù)已被送達(dá)并接收。 互連網(wǎng)絡(luò)層:負(fù)責(zé)提供基本的數(shù)據(jù)封包傳送功能,讓每一塊數(shù)據(jù)包都能夠到達(dá)目的主機(jī)(但不檢查是否被正確接收),如網(wǎng)際協(xié)議(ip)。 網(wǎng)絡(luò)接口層:對(duì)實(shí)際的網(wǎng)絡(luò)媒體的管理,定義如何使用實(shí)際網(wǎng)絡(luò)(如ethernet、serial line等)來(lái)傳送數(shù)據(jù)。(二)特點(diǎn)tcp/ip協(xié)議是現(xiàn)在互聯(lián)網(wǎng)的基礎(chǔ)。tcp/ip協(xié)議主要有如下的特點(diǎn)。 1tcp/ip協(xié)議是一個(gè)開(kāi)放的協(xié)議標(biāo)準(zhǔn),所有人都可以免費(fèi)試用,并且是獨(dú)立于硬件和操作系統(tǒng)的。 2tcp/ip協(xié)議是不區(qū)分網(wǎng)絡(luò)硬件的,它在局域網(wǎng),廣域網(wǎng)和互聯(lián)網(wǎng)中都被廣泛使用。 3tc
24、p/ip協(xié)議使用統(tǒng)一的網(wǎng)絡(luò)地址分配的方案。網(wǎng)絡(luò)中的每臺(tái)電腦都具有唯一的ip地址。 4tcp/ip協(xié)議是一個(gè)標(biāo)準(zhǔn)的高層協(xié)議,擁有極高的可靠性,可以為用戶提供可靠的服務(wù)。1.3 socket的簡(jiǎn)介所謂socket通常也稱作“套接字”,應(yīng)用程序通常通過(guò)“套接字”向網(wǎng)絡(luò)發(fā)出請(qǐng)求或者應(yīng)答網(wǎng)絡(luò)要求。在internet上有很多這樣的主機(jī),這些主機(jī)一般運(yùn)行了多個(gè)服務(wù)軟件,同時(shí)提供幾種服務(wù)。每種服務(wù)都打開(kāi)一個(gè)socket,并綁定到一個(gè)端口上,不同的端口對(duì)應(yīng)不同的服務(wù)。socket連接過(guò)程:根據(jù)連接啟動(dòng)的方式以及本地套接字要連接的目標(biāo),套接字之間的連接過(guò)程可以分為三個(gè)步驟:服務(wù)器監(jiān)聽(tīng),客戶端請(qǐng)求,連接確認(rèn)。 服務(wù)
25、器監(jiān)聽(tīng):是服務(wù)器端套接字并不定位具體的客戶端套接字,而是處于等待連接的狀態(tài),實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)狀態(tài)。 客戶端請(qǐng)求:是指由客戶端的套接字提出連接請(qǐng)求,要連接的目標(biāo)是服務(wù)器端的套接字。為此,客戶端的套接字必須首先描述它要連接的服務(wù)器的套接字,指出服務(wù)器端套接字的地址和端口號(hào),然后就向服務(wù)器端套接字提出連接請(qǐng)求。連接確認(rèn):是指當(dāng)服務(wù)器端套接字監(jiān)聽(tīng)到或者說(shuō)接收到客戶端套接字的連接請(qǐng)求,它就響應(yīng)客戶端套接字的請(qǐng)求,建立一個(gè)新的線程,把服務(wù)器端套接字的描述發(fā)給客戶端,一旦客戶端確認(rèn)了此描述,連接就建立好了。而服務(wù)器端套接字繼續(xù)處于監(jiān)聽(tīng)狀態(tài),繼續(xù)接收其他客戶端套接字的連接請(qǐng)求。1.4 arm的簡(jiǎn)介arm(adva
26、nced risc machines)是微處理器行業(yè)的一家知名企業(yè),設(shè)計(jì)了大量高性能、廉價(jià)、耗能低的risc處理器、相關(guān)技術(shù)及軟件5。技術(shù)具有性能高、成本低和能耗省的特點(diǎn)。適用于多種領(lǐng)域,比如嵌入控制、消費(fèi)/教育類多媒體、dsp和移動(dòng)式應(yīng)用等。arm公司是蘋(píng)果、acorn、vlsi、technology等公司的合資企業(yè)。arm將其技術(shù)授權(quán)給世界上許多著名的半導(dǎo)體、軟件和oem廠商,每個(gè)廠商得到的arm公司(6張)都是一套獨(dú)一無(wú)二的arm相關(guān)技術(shù)及服務(wù)。利用這種合伙關(guān)系,arm很快成為許多全球性risc標(biāo)準(zhǔn)的締造者。進(jìn)入21世紀(jì)之后,由于手機(jī)制造行業(yè)的快速發(fā)展,出貨量呈現(xiàn)爆炸式增長(zhǎng),arm處理器
27、占領(lǐng)了全球手機(jī)市場(chǎng)。2006年,全球arm芯片出貨量為20億片,2010年,arm合作伙伴的出貨量達(dá)到了60億。arm商品模式的強(qiáng)大之處在于它在世界范圍有超過(guò)100個(gè)的合作伙伴(partners)。arm 是設(shè)計(jì)公司,本身不生產(chǎn)芯片。采用轉(zhuǎn)讓許可證制度,由合作伙伴生產(chǎn)芯片。2007年底,arm的雇員總數(shù)為1728人,持有專利700項(xiàng)(另有900項(xiàng)正在申請(qǐng)批準(zhǔn)中),全球分支機(jī)構(gòu)31家,合作伙伴200家,年收入2.6億英鎊。 pxa270簡(jiǎn)介:ours-pxa270d 型開(kāi)發(fā)板是以pxa270 處理器為核心的嵌入式入門級(jí)開(kāi)發(fā)板。本電路板集成了處理器、存儲(chǔ)器和多種串并接口,適合嵌入式學(xué)習(xí),也方便進(jìn)行
28、二次研發(fā),是高集成度的嵌入式系統(tǒng)開(kāi)發(fā)板。第二章 規(guī)劃設(shè)計(jì)2.1 課題來(lái)源linux 操作系統(tǒng)作為一個(gè)開(kāi)源的操作系統(tǒng)被越來(lái)越多的人所應(yīng)用,基于linux系統(tǒng)的聊天系統(tǒng)優(yōu)勢(shì)在于使用方便快捷,易學(xué)易懂,具有即時(shí)性。尤其是對(duì)于企事業(yè)單位具有可靠性,能夠?qū)崿F(xiàn)消息的即時(shí)發(fā)布與收集。不需使用互聯(lián)網(wǎng),只需局域網(wǎng)既可實(shí)現(xiàn)通訊,省時(shí)省力。另外該系統(tǒng)對(duì)硬件的需求很低,不影響電腦的其他工作。因此制作一個(gè)linux 操作系統(tǒng)下的擁有人性化界面的實(shí)時(shí)通訊工具,將給那些剛剛接觸linux操作系統(tǒng)的用戶帶來(lái)極大的方便,而且通過(guò)設(shè)計(jì)這樣的一個(gè)應(yīng)用程序還能更好的學(xué)習(xí)網(wǎng)絡(luò)編程知識(shí)和掌握l(shuí)inux平臺(tái)上應(yīng)用程序設(shè)計(jì)開(kāi)發(fā)的過(guò)程,將大學(xué)
29、四年所學(xué)知識(shí)綜合運(yùn)用,以達(dá)到檢驗(yàn)學(xué)習(xí)成果的目的。2.2 需求分析聊天室是一種廣泛應(yīng)用于網(wǎng)絡(luò)的聊天方式,操作非常簡(jiǎn)單,功能也很豐富。聊天系統(tǒng)應(yīng)該有即時(shí),快速的特點(diǎn)。服務(wù)器端和客戶端應(yīng)該有不同的功能特性。對(duì)于客戶端應(yīng)該能夠快速地檢查是否能夠連接到服務(wù)器端。能夠正確的獲得和反映當(dāng)前好友在線情況。能夠正確的與特定好友交流。能夠及時(shí)地接收到服務(wù)器端的數(shù)據(jù),并且能夠即時(shí)處理數(shù)據(jù),能夠?qū)⑻幚斫Y(jié)果反映給用戶。聊天系統(tǒng)分為兩個(gè)部分,服務(wù)器端和客戶端。本論文以基于linux聊天客戶端模塊設(shè)計(jì)與實(shí)現(xiàn)為題,主要研究聊天系統(tǒng)的客戶端??蛻舳藨?yīng)該完成的工作包括:1與服務(wù)器端建立通信通道,向服務(wù)器端發(fā)送信息。注冊(cè)界面:首先
30、與服務(wù)器連接,如果連接失敗,文件描述符是一個(gè)非正數(shù),通過(guò)判斷,以對(duì)話框的形式通知用戶連接失敗。如果用戶名已經(jīng)存在,服務(wù)器端返回協(xié)議“error”。如果注冊(cè)成功,服務(wù)器返回協(xié)議“ok”,通過(guò)對(duì)服務(wù)器返回的字符串判斷,客戶端通過(guò)對(duì)話框的形式給予提示不同的信息。登陸界面:首先與服務(wù)器連接,如果連接失敗,文件描述符室一個(gè)非正數(shù),通過(guò)判斷,以對(duì)話框的形式通知用戶連接失敗。如果用戶名與密碼不匹配或者重復(fù)登陸,服務(wù)器端返回協(xié)議“error”,如果登陸成功,服務(wù)器返回協(xié)議“ok”,客戶端通過(guò)對(duì)協(xié)議的判斷切換到聊天界面。聊天界面:首先判斷客戶端需求,通過(guò)用戶的選擇,向服務(wù)器發(fā)送一系列已經(jīng)協(xié)商好的通信協(xié)議;如:選
31、擇私聊則發(fā)送“所選用戶名+聊天內(nèi)容”,選擇群聊則發(fā)送“all+聊天內(nèi)容”。2接收來(lái)自服務(wù)器端的信息。通過(guò)服務(wù)器端的分析,服務(wù)器會(huì)向客戶端發(fā)送信息,同時(shí)客戶端當(dāng)監(jiān)聽(tīng)到有信息可接收時(shí),會(huì)讀出相應(yīng)信息存放到內(nèi)存當(dāng)中。3完成客戶端包括注冊(cè)、登錄、聊天三大板塊。在完成以上三大板塊的過(guò)程中,應(yīng)該注意三大板塊之間的聯(lián)系。4全部完成后,將客戶端程序移植到arm開(kāi)發(fā)板上并實(shí)現(xiàn)。有了以上簡(jiǎn)單的分析,可以知道,解決上述四個(gè)問(wèn)題,即完成了該聊天系統(tǒng)的核心。補(bǔ)充:由于技術(shù)方面的欠缺,我的聊天室系統(tǒng)沒(méi)有應(yīng)用數(shù)據(jù)庫(kù)知識(shí)存放聊天記錄。聊天記錄是以隱藏文件的形式存放在整個(gè)系統(tǒng)的絕對(duì)路徑下。沒(méi)有實(shí)現(xiàn)留言功能,只有在線才能接收到別
32、人發(fā)送的消息。第三章 系統(tǒng)分析與設(shè)計(jì)方案3.1 聊天系統(tǒng)客戶端的總體設(shè)計(jì)要點(diǎn)聊天系統(tǒng)的設(shè)計(jì)與普通網(wǎng)站的實(shí)際所考慮的因素有許多不同之處,普通網(wǎng)站設(shè)計(jì)需考慮對(duì)布局進(jìn)入大量美化以及動(dòng)畫(huà)設(shè)計(jì)等等,而聊天室卻只要提供滿足訪客雙方直接實(shí)時(shí)聊天即可6。因此,在設(shè)計(jì)聊天系統(tǒng)的過(guò)程中,必須要考慮好以下幾個(gè)設(shè)計(jì)要點(diǎn):(一)實(shí)現(xiàn)思想在internet上的聊天程序一般都是以服務(wù)器提供服務(wù)端連接響應(yīng),使用者通過(guò)客戶端程序登錄到服務(wù)器,就可以與登錄在同一服務(wù)器上的用戶交談,這是一個(gè)面向連接的通信過(guò)程。因此,程序要在tcp/ip環(huán)境下,實(shí)現(xiàn)服務(wù)器端和客戶端兩部分程序。(二)服務(wù)器端工作流程服務(wù)器端通過(guò)socket( )系統(tǒng)
33、調(diào)用創(chuàng)建一個(gè)socket數(shù)組后(即設(shè)定了接受連接客戶的最大數(shù)目),與指定的本地端口綁定bind( ),就可以在端口進(jìn)行偵聽(tīng)listen( )。如果有客戶端連接請(qǐng)求,則在數(shù)組中選擇一個(gè)空socket,將客戶端地址賦給這個(gè)socket。然后登錄成功的客戶就可以在服務(wù)器上聊天了。(三)客戶端工作流程客戶端程序相對(duì)簡(jiǎn)單,只需要建立一個(gè)socket與服務(wù)器端連接,成功后通過(guò)這個(gè)socket來(lái)發(fā)送和接收數(shù)據(jù)就可以了。套接字之間的連接過(guò)程可以分為三個(gè)步驟:服務(wù)器監(jiān)聽(tīng),客戶端請(qǐng)求,連接確認(rèn)。服務(wù)器監(jiān)聽(tīng)是服務(wù)器端套接字并不定位具體的客戶端套接字,而是處于等待連接的狀態(tài),實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)狀態(tài)。客戶端請(qǐng)求是指由客戶端的
34、套接字提出連接請(qǐng)求,要連接的目標(biāo)是服務(wù)器端的套接字。連接確認(rèn)是指當(dāng)服務(wù)器端套接字監(jiān)聽(tīng)到或者說(shuō)接收到客戶端套接字的連接請(qǐng)求,它就響應(yīng)客戶端套接字的請(qǐng)求,建立一個(gè)新的線程,把服務(wù)器端套接字的描述發(fā)給客戶端,一旦客戶端確認(rèn)了此描述,連接就建立好了。3.2 聊天系統(tǒng)客戶端的設(shè)計(jì)步驟及功能模塊劃分(一)聊天系統(tǒng)客戶端工作原理圖3-1輸入錯(cuò)誤重新填寫(xiě)用戶運(yùn)行客戶端應(yīng)用程序填寫(xiě)用戶名密碼提交服務(wù)器用戶信息合法,用戶登陸到聊天室 接收服務(wù)器端的在線用戶列表接收消息接收好友下線或登陸消息發(fā)送消息(群聊、私聊)圖3-1 工作原理圖3.3 聊天系統(tǒng)客戶端各功能模塊(一)注冊(cè)功能模塊用戶進(jìn)入聊天系統(tǒng),點(diǎn)擊登錄模塊上的
35、注冊(cè)按鈕,進(jìn)入注冊(cè)頁(yè)面。頁(yè)面框架由qt語(yǔ)言編譯。功能有填寫(xiě)用戶名、密碼、重復(fù)密碼;注冊(cè)界面顯示用戶名、密碼輸入規(guī)則。當(dāng)用戶輸入用戶名、密碼時(shí),檢驗(yàn)用戶輸入是否合法,輸入合法則通過(guò)socket建立于服務(wù)器的連接,向服務(wù)器發(fā)送用戶名、密碼。服務(wù)器端對(duì)所接收的內(nèi)容進(jìn)行核對(duì),如用戶名密碼可用,則返回相應(yīng)信息??蛻舳私邮盏椒?wù)器發(fā)送過(guò)來(lái)的信息后,通知用戶是否注冊(cè)成功。注冊(cè)模塊發(fā)送到服務(wù)器的通信協(xié)議為:“regist:用戶名:密碼名”。 部分源碼如下:regist:regist() /用戶界面代碼void regist:sure_fun() int fd2; char *p; char buf10=; f
36、d2=getfd(); qstring tmp,str; if(name_line-text()=all) /用戶名不能為all qmessagebox:warning(this,tr(warning),tr(this name unable used!) ); name_line-clear(); return; if(name_line-text()=) /未輸入用戶名提示信息 qmessagebox:warning(this,tr(warning),tr(input a user name!); return; if(passwd_line-text()=) /未輸入密碼提示信息 qme
37、ssagebox:warning(this,tr(warning),tr(input a passwd!); return; qstring passwd1,passwd2; passwd1=passwd_line-text(); passwd2=repasswd_line-text(); if(passwd1=passwd2) /確保倆次密碼相同 tmp=regist; tmp=tmp+:; tmp=tmp+name_line-text(); tmp=tmp+:; tmp=tmp+passwd_line-text(); p=(char *)qprintable(tmp); int i; i=
38、write(fd2,p,strlen(p); /向服務(wù)器寫(xiě)內(nèi)容 if(iclear(); return; else qmessagebox:warning(this,tr(error!),tr(twice passwd is different !); passwd_line-clear(); repasswd_line-clear(); return; (二)登錄功能模塊用戶進(jìn)入聊天系統(tǒng)則直接進(jìn)入登陸模塊7,界面直接提示輸入用戶名、密碼;當(dāng)已經(jīng)注冊(cè)完成賬號(hào)時(shí),根據(jù)提示輸入用戶信息??蛻舳送ㄟ^(guò)socket建立與服務(wù)器的連接,并將信息傳遞給服務(wù)器,由服務(wù)器判斷輸入是否正確。如用戶名與密碼不相符,
39、則提示信息。信息輸入正確,則登陸成功,界面切換到聊天界面。登錄模塊發(fā)送到服務(wù)器的通信協(xié)議為:“l(fā)ogin:用戶名:密碼”。部分源碼如下:login:login() /登陸界面 void login:login_fun() int fd1=getfd(); char buf100=; char all_name4000 = ; qstring info,a,b; a=ledit1-text(); b=ledit2-text(); info = qstring(login)+:+a+:+b; write(fd1,(char *)qprintable(info),info.size(); /向服務(wù)器
40、寫(xiě)入內(nèi)容 read(fd1,buf,sizeof(buf); /從服務(wù)器讀入內(nèi)容 if(strcmp(buf,relogin) = 0) /登陸失敗提示消息 qmessagebox:information(this,login error!,repeat login!); return; if(strcmp(buf,ok) = 0) /登陸成功 write(fd1,ok,2); read(fd1,all_name,sizeof(all_name); qstringlist namelist = qstring(all_name).split(:); namelist0 = all; chat_
41、ui *chat=new chat_ui;chat-box-additems(namelist); chat-setfd(fd1,a); write(fd1,ok,2); close(); chat-show(); /切換到聊天界面 chat-ledit-setfocus(); if(strcmp(buf,error) = 0) /用戶名與密碼不匹配 ledit1-clear(); ledit2-clear(); qmessagebox:information(this,login error!,name or passwd error! ); (三)聊天功能模塊 在本聊天系統(tǒng)客戶端中,聊天功
42、能分為群聊與私聊8。當(dāng)選擇下拉菜單上的all時(shí),所聊天內(nèi)容為群聊,所有聊天室內(nèi)的在線人員均能看見(jiàn)。當(dāng)選擇下拉菜單上的任何一個(gè)人時(shí),則為與某人的私聊,此狀態(tài)下的聊天內(nèi)容只有當(dāng)前選擇人員可看。聊天過(guò)程中,聊天室內(nèi)用戶上線、下線都給予提示。有管理員賬號(hào),管理員可以任意踢出在線人員,被踢出用戶則無(wú)法正常使用聊天室。聊天功能模塊部分源碼:chat_ui:chat_ui() /聊天界面 void chat_ui:setfd(int tfd,qstring name) /獲取服務(wù)器上的文件描述符 fd = tfd; this-name = name; lsocket-setsocketdescriptor(
43、fd); void chat_ui:send_fun() /向服務(wù)器發(fā)送登錄用戶信息 qstring t,t1,t2; t1=box-currenttext(); t2=ledit-text(); t=t1+:+t2; write(fd,(char *)qprintable(t),t.size(); ledit-clear(); ledit-setfocus(); void chat_ui:get_mes() qstring str,status; str = lsocket-readall(); if(str.contains(qchar() /判斷用戶加入或離開(kāi) if(str0 != qc
44、har() qstringlist info = str.split(); str = info0; status = info1; qcolor color = chattext-textcolor(); chattext-settextcolor(qt:red); chattext-append(status); chattext-settextcolor(color); else qstringlist info = str.split(); status = info1; qcolor color = chattext-textcolor(); chattext-settextcolo
45、r(qt:red); chattext-append(status); chattext-settextcolor(color); return ; if(str.left(6) = *quit:|str.left(6) = *join:) /更新在線用戶的列表 qstringlist all_name = str.split(:); all_name0 = all; box-clear(); box-additems(all_name); return; qstringlist mes = str.split(:); mes0 = ; if(mes0.left(3) = qstring(te
46、xtcolor(); chattext-settextcolor(qt:blue); chattext-append(mes0); chattext-append(mes1); chattext-settextcolor(color); else chattext-append(mes0); chattext-append(mes1); qdir dir(./); /創(chuàng)建本地聊天記錄 dir.mkdir(chatrecord); qfile file(./chatrecord/+name); if(!file.open(qiodevice:append|qiodevice:text) retu
47、rn; qtextstream in(&file); in mes0 n mes1 n; file.close(); (四)服務(wù)器與客戶端之間的通信協(xié)議客戶端/服務(wù)器模型工作時(shí)要求有一套為客戶端和服務(wù)器所共識(shí)的慣例來(lái)保證服務(wù)能夠被提供(或被接受),這一套慣例包含了一套協(xié)議,它必須在通信的兩頭都被實(shí)現(xiàn)。根據(jù)不同的實(shí)際情況,協(xié)議可能是對(duì)稱的或非對(duì)稱的。在對(duì)稱的協(xié)議中每一方都有可能扮演主從角色;在非對(duì)稱協(xié)議中一方被不可改變地認(rèn)為是主機(jī),而另一方則是從機(jī)。無(wú)論具體的協(xié)議是對(duì)稱的或是非對(duì)稱的,當(dāng)服務(wù)被提供時(shí)必然存在客戶進(jìn)程和服務(wù)進(jìn)程。一個(gè)服務(wù)程序通常在一個(gè)眾所周知地地址監(jiān)聽(tīng)客戶對(duì)服務(wù)地請(qǐng)求,也就是說(shuō),服
48、務(wù)進(jìn)程一直處于休眠狀態(tài),直到一個(gè)客戶對(duì)這個(gè)服務(wù)地址提出連接請(qǐng)求。在這個(gè)時(shí)刻,服務(wù)程序被“驚醒”并且為客戶提供服務(wù)-對(duì)客戶的請(qǐng)求作出適當(dāng)?shù)姆磻?yīng)。這一請(qǐng)求/響應(yīng)的過(guò)程可以簡(jiǎn)單地歸納為:服務(wù)器監(jiān)聽(tīng),客戶端請(qǐng)求,連接確認(rèn)。主要實(shí)現(xiàn)過(guò)程:1客戶端發(fā)送消息給服務(wù)器端首先判斷客戶端需求,通過(guò)用戶的選擇,向服務(wù)器發(fā)送一系列已經(jīng)協(xié)商好的通信協(xié)議;如:選擇私聊則發(fā)送“所選用戶名+聊天內(nèi)容”,選擇群聊則發(fā)送“all+聊天內(nèi)容”。2接收服務(wù)器端發(fā)來(lái)的消息通過(guò)服務(wù)器端的分析,服務(wù)器會(huì)向客戶端發(fā)送信息,同時(shí)客戶端當(dāng)監(jiān)聽(tīng)到有信息可接收時(shí),會(huì)讀出相應(yīng)信息存放到內(nèi)存當(dāng)中。3顯示消息從內(nèi)存當(dāng)中讀出信息,通過(guò)字符串解析,將內(nèi)容按照不
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度辦公室翻新與餐飲店改造設(shè)計(jì)施工合同
- 二零二五年度城市公共安全報(bào)警系統(tǒng)電路升級(jí)改造合同
- 提取公積金借款合同
- 銷售抵押合同
- 電商零售平臺(tái)開(kāi)發(fā)合同
- 個(gè)人理財(cái)指南
- 農(nóng)產(chǎn)品公共檢測(cè)與溯源體系建設(shè)作業(yè)指導(dǎo)書(shū)
- 質(zhì)量管理工具與方法應(yīng)用作業(yè)指導(dǎo)書(shū)
- 平面設(shè)計(jì)聘用合同
- 2025年廣西貨運(yùn)考試題目
- 長(zhǎng)江委水文局2025年校園招聘17人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年湖南韶山干部學(xué)院公開(kāi)招聘15人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 廣東省廣州市番禺區(qū)2023-2024學(xué)年七年級(jí)上學(xué)期期末數(shù)學(xué)試題
- 不可切除肺癌放療聯(lián)合免疫治療專家共識(shí)(2024年版)j解讀
- DB23/T 3657-2023醫(yī)養(yǎng)結(jié)合機(jī)構(gòu)服務(wù)質(zhì)量評(píng)價(jià)規(guī)范
- 教科版科學(xué)六年級(jí)下冊(cè)14《設(shè)計(jì)塔臺(tái)模型》課件
- 智研咨詢發(fā)布:2024年中國(guó)MVR蒸汽機(jī)械行業(yè)市場(chǎng)全景調(diào)查及投資前景預(yù)測(cè)報(bào)告
- 法規(guī)解讀丨2024新版《突發(fā)事件應(yīng)對(duì)法》及其應(yīng)用案例
- IF鋼物理冶金原理與關(guān)鍵工藝技術(shù)1
- JGJ46-2024 建筑與市政工程施工現(xiàn)場(chǎng)臨時(shí)用電安全技術(shù)標(biāo)準(zhǔn)
- 煙花爆竹重大危險(xiǎn)源辨識(shí)AQ 4131-2023知識(shí)培訓(xùn)
評(píng)論
0/150
提交評(píng)論