簡單的跟時通信軟件_第1頁
簡單的跟時通信軟件_第2頁
簡單的跟時通信軟件_第3頁
簡單的跟時通信軟件_第4頁
簡單的跟時通信軟件_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、河南理工大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院課程設(shè)計報告2014 2015學(xué)年第一學(xué)期課程名稱 計算機(jī)網(wǎng)絡(luò) 設(shè)計題目 簡單的及時通信軟件 姓 名 郝騰宇 學(xué) 號專業(yè)班級 計算機(jī)12-3 指導(dǎo)教師 李 瑩 瑩 2015年 1 月 8日目錄一、任務(wù)分析與方案設(shè)計11任務(wù)分析12.方案設(shè)計1二、需求分析21.功能需求分析22數(shù)據(jù)需求分析23性能需求分析34運行需求分析3三、開發(fā)環(huán)境與工具41.設(shè)計環(huán)境41.1eclipse開發(fā)平臺介紹42.基礎(chǔ)知識42.1java Socket網(wǎng)絡(luò)編程簡介42.2套接字的介紹52.3 TCP/IP協(xié)議簡介6四、關(guān)鍵技術(shù)與理論61.JAVA編程技術(shù)62.Java Socket網(wǎng)絡(luò)

2、編程接口7五、相關(guān)圖解及程序81.體系結(jié)構(gòu)設(shè)計82.具體功能模塊的分析8六、測試及結(jié)果分析9七、心得體會12八、參考文獻(xiàn)14一、任務(wù)分析與方案設(shè)計1任務(wù)分析計算機(jī)網(wǎng)絡(luò)被應(yīng)用于我們生活中的方方面面,可以說是網(wǎng)絡(luò)讓我們的生活變得更加美好,更加方便和快捷,我們的生活離不開網(wǎng)絡(luò) 基于局域網(wǎng)的即時通信軟件的核心技術(shù)其實與基于Internet的即時通信軟件的設(shè)計技術(shù)是一樣的,只是規(guī)模比較小。基于Internet的通信工具一般采用TCP或者UDP協(xié)議來實現(xiàn)的,開發(fā)技術(shù)已經(jīng)非常成熟,它們不僅實現(xiàn)了即時聊天、文件傳輸?shù)裙δ?,而且還能夠?qū)崿F(xiàn)即時視頻、語音聊天功能等。在局域網(wǎng)內(nèi),這類軟件的設(shè)計比在Internet中

3、設(shè)計更為簡單。因為Internet是網(wǎng)絡(luò)中的網(wǎng)絡(luò),結(jié)構(gòu)更為復(fù)雜,遇到的情況要比在局域網(wǎng)中還要多。所以說局域網(wǎng)的聊天工具的設(shè)計要相對簡單些。而且即時通信是一個終端連往一個即時通信網(wǎng)絡(luò)的服務(wù)。即時通信不同于e-mail在于它的交談是實時的。大部分的即時通信服務(wù)提供了presence awareness的特性顯示聯(lián)絡(luò)人名單,聯(lián)絡(luò)人是否在線與能否和聯(lián)絡(luò)人交談。2.方案設(shè)計程序采用JAVA編程,利用java強(qiáng)大的基礎(chǔ)類庫,調(diào)用java中界面開發(fā)的swing和網(wǎng)絡(luò)編程的net函數(shù)群來完成本次的java socket(網(wǎng)絡(luò)套接字)網(wǎng)絡(luò)即時通信工具的開發(fā)。在java中,可以把發(fā)送的信息看成是一個一個的對象,當(dāng)

4、我們利用socket鏈接把客戶端和服務(wù)器鏈接起來以后,他們之間就可以以對象流的形式發(fā)送彼此需要通信的信息了。在java的網(wǎng)絡(luò)編程中,最為核心的就是客戶端和服務(wù)器相互取得socket的鏈接,只要能夠能夠取得鏈接,其他的工作基本上都是java的面向?qū)ο蟮木幊趟枷肴ネ瓿梢恍┚W(wǎng)絡(luò)通訊的業(yè)務(wù)邏輯的處理。二、需求分析1.功能需求分析1)用戶端之間的信息發(fā)送,本程序需要實現(xiàn)的最基本的功能。用戶在界面上可以將自己需要發(fā)送的信息填入相應(yīng)的對話框中,點擊發(fā)送按鈕后,可以將信息正常的發(fā)送給相應(yīng)的其它用戶,這個過程中的客戶端與客戶端之間使用點對點發(fā)送信息,預(yù)計利用TCP/IP協(xié)議中的UDP協(xié)議,在本程序中共需要3個端

5、口,此功能預(yù)計使用3號端口。 (2)在線用戶主機(jī)IP列表的維護(hù)。在用戶發(fā)送信息之前,需要選擇相應(yīng)的目的地端IP,這也就需要客戶端擁有在線用戶主機(jī)的IP地址,這個在線主機(jī)列表的維護(hù)是需要客戶端定時自動向服務(wù)器端發(fā)送信息,服務(wù)器端收集并維護(hù)在線用戶列表,再發(fā)送回客戶端。需要在客戶端和服務(wù)器端都使用定時器來完成此功能。此功能預(yù)計使用1、2號端口。 (3)在C/S模式中,服務(wù)器與客戶端是相互依賴的。在客戶端啟用以后,需要查看服務(wù)器端是否在線,服務(wù)器在線才能正常使用客戶端,如果服務(wù)器不在線,則在檢測一定次數(shù)以后自動退出客戶端程序。在使用過程中,客戶端在指定時間內(nèi)未向服務(wù)器端發(fā)送信息的

6、,服務(wù)器認(rèn)為客戶端下線;客戶端在一定時間內(nèi)未收到服務(wù)器端信息的,認(rèn)為服務(wù)器已經(jīng)下線,則提示用戶并建議退出,在用戶一定時間后沒有退出的則自動關(guān)閉客戶端程序。2數(shù)據(jù)需求分析 (1)客戶端之間聊天信息。在控件上顯示時格式化,更易于用戶的查看自己發(fā)送或接收到的信息。 (2)在線用戶聊天信息。服務(wù)器端存放在適當(dāng)?shù)目臻g中,在發(fā)送給客戶端時,對信息列表進(jìn)行格式化,便于客戶端提取信息。 (3)客戶端向服務(wù)器端發(fā)送的確認(rèn)在線信息。包括客戶端剛剛啟動時的初始化信息和在使用過程中的確認(rèn)在線信息。 (4)其它程序內(nèi)部可能需要設(shè)計的數(shù)據(jù)結(jié)構(gòu)體。 3性能需求分析 

7、;(1)可靠性高,能在由于系統(tǒng)問題或其它原因產(chǎn)生錯誤后,作出相對應(yīng)處理,比如網(wǎng)絡(luò)初始化失敗、服務(wù)器不在線等,可以提示用戶安全退出本程序,在出現(xiàn)不可知的錯誤以后,可以盡量安全的退出程序。在程序的設(shè)計過程中,要求能盡可能多的設(shè)想到用戶使用過程中可能發(fā)生的事件,并能在判斷事件后做出相應(yīng)的處理,使程序具有較高的容錯性能2。(2)宜操作性,程序簡單易懂,容易上手使用。設(shè)計界面是,簡化界面的復(fù)雜性,模擬QQ等現(xiàn)有即時通訊工具的界面,使用戶能很容易看懂并使用。 (3)開發(fā)文檔易理解,保證以后自己二次開發(fā)或他人接手開發(fā)時,能夠清晰的理解整個系統(tǒng)的設(shè)計思路和實現(xiàn)細(xì)節(jié)。 (4)模塊化設(shè)計此軟件

8、的功能,不同的模塊實現(xiàn)不同的功能,使得軟件易于以后的維護(hù)與擴(kuò)展,在以后可以更好的完善本軟件的功能,更方便于在工作中的應(yīng)用。  4運行需求分析 (1)用戶界面 程序較小,啟動速度快??稍诰W(wǎng)絡(luò)中使用,有注冊功能,需進(jìn)行用戶登錄。啟動后的應(yīng)用界面要清爽,設(shè)計要簡單明了,要具有較高的易用性。 (2)故障處理 在遇到可預(yù)知的故障與情況時,能提示用戶并自動退出;在遇到不可預(yù)知的故障時能安全退出。三、開發(fā)環(huán)境與工具1.設(shè)計環(huán)境開發(fā)程序的操作系統(tǒng):Windows7(在Windows XP、2000里也可以)編譯工具:eclipse程序工程:JAVA工

9、程,Server和Client網(wǎng)絡(luò)環(huán)境:局域網(wǎng)(或互聯(lián)網(wǎng)上運用,只要安裝客戶端并且知道服務(wù)器端的IP)1.1 eclipse開發(fā)平臺介紹Eclipe是著名的跨平臺的自由集成開發(fā)環(huán)境(IDE)。主要用來Java語言開發(fā)。Eclipse的本身只是一個框架平臺,但是眾多插件的支持,使得Eclipse擁有較佳的靈活性。許多軟件開發(fā)商都以Eclipse為框架開發(fā)自己的IDE。另外由于eclipse是開源的,所以得到了廣大用戶的認(rèn)可。Eclipse也于2001年11月被它的開發(fā)公司IBM公司貢獻(xiàn)給開源社區(qū),現(xiàn)在它由非營利軟件供應(yīng)商聯(lián)盟Eclipse基金會(Eclipse Foundation)管理。2.基

10、礎(chǔ)知識2.1java Socket網(wǎng)絡(luò)編程簡介 Socket 有兩種主要的操作方式:面向連接的和無連接的。面向連接的 sockets 操作就像一部電話,他們必須建立一個連接和一人呼叫。所有的事情在到達(dá)時的順序與它們出發(fā)時的順 序時一樣。無連接的 sockets 操作就像是一個郵件投遞,沒有什么保證,多個郵件可能在到達(dá) 時的順序與出發(fā)時的順序不一樣。 到底用哪種模式是郵應(yīng)用程序的需要決定的。如果可靠性更重要的話,用面向連接的操作會好一些.比如文件服務(wù)器需要他們的數(shù)據(jù)的正確性和有序性。如果一些數(shù)據(jù)丟失了,系統(tǒng)的有效性將會失去。一些服務(wù)器,比如間歇性地發(fā)送一些數(shù)據(jù)塊,如果數(shù)據(jù)丟了的話,服務(wù)器并不想要

11、再重新發(fā)過一次,因為當(dāng)數(shù)據(jù)到達(dá)的時候,它可能已經(jīng)過時了.確保數(shù)據(jù)的有序性和正確性需要額外的操作的內(nèi)存消耗,額外的費用將會降低系統(tǒng)的回應(yīng)速率。 無連接的操作使用數(shù)據(jù)報協(xié)議。一個數(shù)據(jù)報是一個獨立的單元,它包含了所有的這次投遞的信息。把它想象成一個信封吧,它有目的地址和要發(fā)送的內(nèi)容。這個模式下的 socket 不需要連接一個目的的 socket,它只是簡單地投出數(shù)據(jù)報。無連接的操作是快速的和高效的,但是數(shù)據(jù)安全性不佳。 面向連接的操作使用 TCP 協(xié)議。一個這個模式下的 socket 必須在發(fā)送數(shù)據(jù)之前與目的地的 socket 取得一個連接。一旦連接建立了,sockets 就可以使用一個流接口:打開

12、(-讀-寫-關(guān)閉)。所有的發(fā)送的信息都會在另一端以同樣的順序被接收.面向連接的操作比無連接的操作效率更低,但是數(shù)據(jù)的安全性更高。java 降低了建立一個 sockets 程序的難度。每一個傳輸模式都被封裝到了不同的類中。面向連接的類將會首先被我們討論。到底用哪種模式是郵應(yīng)用程序的需要決定的。如果可靠性更重要的話,用面向連接的操作會好一些。比如文件服務(wù)器需要他們的數(shù)據(jù)的正確性和有序性。如果一些數(shù)據(jù)丟失了,系統(tǒng)的有效性將會失去。一些服務(wù)器,比如間歇性地發(fā)送一些數(shù)據(jù)塊,如果數(shù)據(jù)丟了的話,服務(wù)器并不想要再重新發(fā)過一次。因為當(dāng)數(shù)據(jù)到達(dá)的候,它可能已經(jīng)過時了。確保數(shù)據(jù)的有序性和正確性需要額外的操作的內(nèi)存消

13、耗,額外的費用將會降低系統(tǒng)的回應(yīng)速率. 2.2套接字的介紹多個TCP連接或多個應(yīng)用程序進(jìn)程可能需要通過同一個 TCP協(xié)議端口傳輸數(shù)據(jù)。為了區(qū)別不同的應(yīng)用程序進(jìn)程和連接,許多計算機(jī)操作系統(tǒng)為應(yīng)用程序與TCPIP協(xié)議交互提供了稱為套接字(Socket)的接口。套接字,是支持TCP/IP的網(wǎng)絡(luò)通信的基本操作單元,可以看做是不同主機(jī)之間的進(jìn)程進(jìn)行雙向通信的端面點,簡單的說就是通信的兩方的一種約定,用套接字中的相關(guān)函數(shù)來完成通信過程非常非常簡單的舉例說明下:Socket=Ip address+ TCP/UDP port. 應(yīng)用層通過傳輸層進(jìn)行數(shù)據(jù)通信時,TCP和UDP會遇到同時為多個應(yīng)用程序進(jìn)程提供并發(fā)

14、服務(wù)的問題。 2.3 TCP/IP協(xié)議簡介TCP/IP協(xié)議實際上就是在物理網(wǎng)上的一組完整的網(wǎng)絡(luò)協(xié)議。其中TCP是提供傳輸層服務(wù),而IP則是提供網(wǎng)絡(luò)層服務(wù)。TCP/IP主要包括以下協(xié)議:IP:網(wǎng)間協(xié)議(Internet Protocol) ,負(fù)責(zé)主機(jī)間數(shù)據(jù)的路由和網(wǎng)絡(luò)上數(shù)據(jù)的存儲。同時為ICMP,TCP,UDP提供分組發(fā)送服務(wù)。用戶進(jìn)程通常不需要涉及這一層。ICMP:網(wǎng)間報文控制協(xié)議(Internet Control Message Protocol)此協(xié)議處理網(wǎng)關(guān)和主機(jī)的差錯和傳送控制。TCP: 傳輸控制協(xié)議(Transmission Control Protocol)這是一種提供給用戶進(jìn)程的

15、可靠的全雙工字節(jié)流面向連接的協(xié)議。它要為用戶進(jìn)程提供虛電路服務(wù),并為數(shù)據(jù)可靠傳輸建立檢查。四、關(guān)鍵技術(shù)與理論1.JAVA編程技術(shù)Java是Sun公司推出的一種編程語言。它是一種通過解釋方式來執(zhí)行的語言,語法規(guī)則和C+類似。同時,Java也是一種跨平臺的程序設(shè)計語言。用Java語言編寫的程序叫做“Applet”(小應(yīng)用程序),用編譯器將它編譯成類文件后,將它存在WWW頁面中,并在HTML檔上作好相應(yīng)標(biāo)記,用戶端只要裝上Java的客戶軟件就可以在網(wǎng)上直接運行“Applet”。 Java非常適合于企業(yè)網(wǎng)絡(luò)和Internet環(huán)境,現(xiàn)在已成為Internet中最受歡迎、最有影響的編程語言之一。 Java

16、有許多值得稱道的優(yōu)點,如簡單、面向?qū)ο?、分布式、解釋性、可靠、安全、結(jié)構(gòu) 2.Java Socket網(wǎng)絡(luò)編程接口事實上網(wǎng)絡(luò)編程,簡單的理解就是兩臺計算機(jī)相互通訊數(shù)據(jù)而已。對于程序員而言,去掌握一種編程接口并使用一種編程模型相對就會顯得簡單的多了。Java sdk提供一些相對簡單的api來完成這些工作,socket就是其中之一。 對于java而言,這些api存在于這個包里面。因此,只要導(dǎo)入這個包就可以準(zhǔn)備網(wǎng)絡(luò)編程了。網(wǎng)絡(luò)編程的基本模型就是客戶機(jī)到服務(wù)器模型。簡單的說,就是兩個進(jìn)程之間相互通訊,然后其中一個必須提供一個固定的位置,而另一個則只需要知道這個固定的位置,并去建立兩者之間的聯(lián)系。然后完成

17、數(shù)據(jù)的通訊就可以了。這里提供固定位置的通常稱為服務(wù)器,而建立聯(lián)系的通常叫做客戶端?;谶@個簡單的模型,就可以進(jìn)入網(wǎng)絡(luò)編程. 對于java而言已經(jīng)簡化了socket的編程接口。首先需要確定有關(guān)提供固定位置的服務(wù)方是如何建立的。java提供了serversocket來對其進(jìn)行支持。事實上當(dāng)創(chuàng)建該類的一個實力對象并提供一個端口資源,就建立了一個固定位置可以讓其他計算機(jī)來訪問。serversocket server=new serversocket(6789);這里稍微要注意的是端口的分配必須是唯一的。因為端口是為了唯一標(biāo)識每臺計算機(jī)唯一服務(wù)的。另外端口號是從065535之間的,前1024個端口已經(jīng)被

18、tcp/ip作為保留端口,因此,分配的端口只能是1024個之后的。有了固定位置,現(xiàn)在所需要的就是一根連接線了。該連接線由客戶方首先提出要求。因此java同樣提供了一個socket對象來對其進(jìn)行支持。只要客戶方創(chuàng)建一個socket的實例對象進(jìn)行支持就可以了。socket client=new socket(inetaddress.getlocalhost(),5678);客戶機(jī)必須知道有關(guān)服務(wù)器的ip地址。對于這一點,java也提供了一個相關(guān)的類inetaddress。該對象的實例必須通過它的靜態(tài)方法來提供。它的靜態(tài)方法主要提供了得到本機(jī)ip和通過名字或ip直接得到inetaddress的方法。

19、 i/o操作總是和網(wǎng)絡(luò)編程息息相關(guān)的。因為底層的網(wǎng)絡(luò)是繼續(xù)數(shù)據(jù)的。除非遠(yuǎn)程調(diào)用,處理問題的核心在執(zhí)行上。否則,數(shù)據(jù)的交互還是依賴于io操作的。所以,你也必須導(dǎo)入java.io這個包。java的io操作也不復(fù)雜。它提供了針對于字節(jié)流和unicode的讀者和寫者,然后也提供了一個緩沖用于數(shù)據(jù)的讀寫。bufferedreader in=new bufferedreader(new inputstreamreader(server.getinputstream(); printwriter out=new printwriter(server.getoutputstream();上面兩句就是建立緩沖并

20、把原始的字節(jié)流轉(zhuǎn)變?yōu)閡nicode可以操作。而原始的字節(jié)流來源于socket的兩個方法,getinputstream()和getoutputstream()方法,分別用來得到輸入和輸出。五、相關(guān)圖解及程序1.體系結(jié)構(gòu)設(shè)計一般的通信工具,都采用客戶端/服務(wù)器體系結(jié)構(gòu)。客戶端/服務(wù)器的結(jié)構(gòu)包含:客戶端和服務(wù)端??蛻舳嗽L問和處理服務(wù)器上的數(shù)據(jù),服務(wù)器接收和處理客戶端的數(shù)據(jù)請求。這種模式的好處就是可以將一個系統(tǒng)分為兩個獨立的部分進(jìn)行開發(fā)設(shè)計,便于軟件開發(fā)。而且也把一個軟件的功能交給兩個部分去完成,則更加有效的利用了系統(tǒng)資源。 本程序中也采用了簡單的客戶端/服務(wù)器模式。由于本程序比較簡單,僅演示客戶端與

21、服務(wù)端進(jìn)行通信。2.具體功能模塊的分析由于該系統(tǒng)采用C/S模式,所以對功能模塊進(jìn)行劃分時,就需要分服務(wù)器和客戶端兩部分進(jìn)行。由于服務(wù)器的主要功能是等待接收并反饋客戶端的信息,所以服務(wù)器需要信息輸出模塊和通信模塊。其中通信模塊包含信息發(fā)送模塊和信息接收模塊。而信息輸出模塊要做到當(dāng)信息發(fā)生改變時及時更新??蛻舳送瑯右残枰ㄐ拍K和信息輸出模塊,同時要互相通信,就要具備輸入輸出。具體模塊劃分見下圖:六、測試及結(jié)果分析運行客戶端:運行服務(wù)器端:啟動客戶端:互發(fā)信息:七、心得體會及時通信是是網(wǎng)絡(luò)發(fā)展的必然趨勢,它的技術(shù)仍然在不斷的改進(jìn)和蓬勃發(fā)展中。本次設(shè)計雖然實現(xiàn)了簡單的即時通信功能,但是從很多方面來說

22、都是不完善的:實現(xiàn)了字符聊天卻沒有實現(xiàn)多媒體即時通信;實現(xiàn)了同步套接字聊天和異步套接字傳送文件卻沒有實現(xiàn)更科學(xué)的異步套接字聊天和同步套接字傳送文件。 由于之前沒有學(xué)過Java,所以對Eclipse編程環(huán)境幾乎是一無所知,在程序編譯過程中遇到的問題比較多,主要是對那些錯誤還有警告開始都不知道什么意思,花了兩天的時間在程序的調(diào)試上面。另外就是一些概念性的知識欠缺,尤其是套接字編程原理,所以對程序的一些函數(shù)的功能用法有些模糊。 其實遇到的種種問題主要是兩方面的原因。一個是基礎(chǔ)知識的掌握不夠牢固,概念的混淆,不能夠很快的用最佳的方式去解決遇到的問題等等,都是由于知識的不熟練導(dǎo)致。另

23、一個就是Java部分知識的缺乏,導(dǎo)入文件還有一些參數(shù)的選擇都要查詢一下資料,主要是第一次操作這方面的知識。針對這些問題,主要從兩個方面著手處理應(yīng)該,一方面是多對所學(xué)過的知識強(qiáng)化溫習(xí),做到熟能生巧,溫故知新。另一方面就是準(zhǔn)備的不夠充分,之前應(yīng)該及早的對所需軟件進(jìn)行熟悉,在以后的實習(xí)過程中需要注意。經(jīng)過這次課程設(shè)計,我們收獲了很多,也學(xué)習(xí)到了很多。使我對網(wǎng)絡(luò)的TCP/IP協(xié)議和網(wǎng)絡(luò)中實現(xiàn)主機(jī)之間的相互通信的方法有了一定的了解和體會。通過這次編程,也加深了對網(wǎng)絡(luò)編程特別是WinSock編程的理解。同時對java的一些編程技術(shù)的實現(xiàn)也有了更深入的了解。學(xué)到了到底一些功能要用哪些規(guī)定的函數(shù)來實現(xiàn),以及在用這些函數(shù)的時候要注意哪些東西,比如說,要引用規(guī)定的函數(shù)包,設(shè)定規(guī)定的變量、組件,并且在引用的時候需要注意的東西等。同時也深刻體會到SOCKET編程的基礎(chǔ)性,多樣化。由于與網(wǎng)絡(luò)緊密聯(lián)系,SOCKET編程的也可能出現(xiàn)各種未知的問題,需要我們更深入地了解網(wǎng)絡(luò)協(xié)議和架構(gòu),才可能做出通用性高,穩(wěn)定性高的即時通信程序。另外一個收獲是,知道了eclipse這個軟件開發(fā)程序,知道了怎么使用它,并且知道了它的功能強(qiáng)大,以前總是為了java的JCreator安裝以及安裝后使用時老是出問題兒感到非

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論