版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 1、引言2</b></p><p> 1.1課程設(shè)計(jì)目的2</p><p> 1.2課程設(shè)計(jì)要求2</p><p><b> 1.3編程環(huán)境2</b></p><p><b> 2、 需求分析3</b></p>&l
2、t;p><b> 2.1開發(fā)背景3</b></p><p><b> 2.2功能要求3</b></p><p> 3、相關(guān)協(xié)議及原理4</p><p> 3.1 UDP協(xié)議4</p><p> 3.2客戶機(jī)/服務(wù)器模式4</p><p> 3.3基
3、本套接字4</p><p><b> 4、 系統(tǒng)設(shè)計(jì)7</b></p><p> 4.1 設(shè)計(jì)思想7</p><p><b> 4.2系統(tǒng)功能7</b></p><p><b> 4.3系統(tǒng)架構(gòu)7</b></p><p> 4.4
4、模塊設(shè)計(jì)7</p><p> 5、詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)9</p><p> 5.1 服務(wù)器端9</p><p> 5.2客戶端:10</p><p> 5.3 窗口截圖12</p><p><b> 6、總結(jié):14</b></p><p> 7、參考文獻(xiàn):
5、15</p><p><b> 1、引言</b></p><p> 網(wǎng)廣播系統(tǒng)是典型的企業(yè)信息管理系統(tǒng),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)?;赩C的局域網(wǎng)廣播系統(tǒng)介紹了如何使用組播(多點(diǎn)廣播)這種相當(dāng)新的技術(shù)以實(shí)現(xiàn)C/S模式
6、的廣播,以及基于UDP(用戶數(shù)據(jù)報協(xié)議)的傳輸方式是怎樣進(jìn)行數(shù)據(jù)傳輸?shù)?,它的速度、安全性以及與基于TCP的通信有何不同。</p><p><b> 1.1課程設(shè)計(jì)目的</b></p><p> 用我們所學(xué)過的知識,以達(dá)到鞏固所學(xué)知識,提高我們思考問題、分析問題和解決問題能力的目的。學(xué)會基于VC6.0 的程序開發(fā)的環(huán)境搭建與配置,并在實(shí)際運(yùn)用中學(xué)習(xí)和掌握VC程序開發(fā)
7、的全過程。</p><p> 進(jìn)一步熟悉掌握VC++程序設(shè)計(jì)語言的基礎(chǔ)內(nèi)容,如用戶圖形界面設(shè)計(jì)、VC多線程編程、基于Socket程序的設(shè)計(jì)、文件和網(wǎng)絡(luò)輸入輸出流編程等</p><p> 通過親自動手寫程序,一方面拓展知識面,一方面鍛煉調(diào)試能力。</p><p> 1.2課程設(shè)計(jì)要求 </p><p> 通過對基于局域網(wǎng)的消息廣播系統(tǒng)的
8、設(shè)計(jì),熟悉UDP協(xié)議以及套節(jié)字編程原理;性能,熟悉VC及Socket/ServerSocket編程方法,理解C/S工作模式。按要求編寫課程設(shè)計(jì)報告書,培養(yǎng)一定的自學(xué)能力和獨(dú)立分析問題、解決問題的能力。包括學(xué)會自己分析解決問題的方法,對設(shè)計(jì)中遇到的問題,能通過獨(dú)立思考、查閱工具書、參考文獻(xiàn),尋找解決方案。</p><p><b> 1.3編程環(huán)境</b></p><p&g
9、t; Microsoft Visual C++是Microsoft公司推出的開發(fā)Win32環(huán)境程序,面向?qū)ο蟮目梢暬删幊滔到y(tǒng)。它不但具有程序框架自動生成、靈活方便的類管理、代碼編寫和界面設(shè)計(jì)集成交互操作、可開發(fā)多種程序等優(yōu)點(diǎn),而且通過簡單的設(shè)置就可使其生成的程序框架支持?jǐn)?shù)據(jù)庫接口、OLE2,WinSock網(wǎng)絡(luò)、3D控制界面。Visual C++ 6.0集成了MFC6.0,于1998發(fā)行。發(fā)行至今一直被廣泛地用于大大小小的項(xiàng)目開發(fā)。
10、但是,這個版本在WindowsXP下運(yùn)行會出現(xiàn)問題,尤其是在調(diào)試模式的情況下(例如:靜態(tài)變量的值并不會顯示)。 這個調(diào)試問題可以通過打一個叫“Visual C++ 6.0Processor Pack”的補(bǔ)丁來解決。奇怪的是,這個網(wǎng)頁強(qiáng)調(diào)用戶也必須運(yùn)行Windows 98、Windows NT4.0、或Windows 2000。</p><p><b> 2、 需求分析</b></p&
11、gt;<p><b> 2.1開發(fā)背景</b></p><p> 廣播系統(tǒng)具有實(shí)用性、經(jīng)濟(jì)性、便捷性等特點(diǎn),廣泛應(yīng)用于各種公共場合,如進(jìn)行全校的公共廣播、課間操、召開全校大會等。利用傳統(tǒng)廣播的概念,將其與網(wǎng)絡(luò)連接起來,即可實(shí)現(xiàn)網(wǎng)絡(luò)資源共享,典型的例子如:網(wǎng)絡(luò)教學(xué)。</p><p> 在網(wǎng)絡(luò)越來越發(fā)達(dá)的今天,人們對網(wǎng)絡(luò)的依賴越來越多,越來越離不開網(wǎng)絡(luò)
12、, 基于VC6.0的局域網(wǎng)廣播系統(tǒng)能更方便的在局域網(wǎng)中傳遞信息,因此產(chǎn)生了制作一個局域網(wǎng)的廣播系統(tǒng);而且通過制作該程序還能更好的學(xué)習(xí)網(wǎng)絡(luò)軟件編程知識.</p><p> 2.2功能要求 </p><p> 實(shí)現(xiàn)一個局域網(wǎng)環(huán)境下的文件的廣播以及接收系統(tǒng): 一行一行讀取文件然后廣播,同一子網(wǎng)掩碼下的的用戶都可以接收并查看。</p><p><b>
13、 3、相關(guān)協(xié)議及原理</b></p><p><b> 3.1 UDP協(xié)議</b></p><p> 用戶數(shù)據(jù)報協(xié)議(UDP)是 OSI 參考模型中一種無連接的傳輸層協(xié)議,提供面向事務(wù)的簡單不可靠信息傳送服務(wù)。是一個簡單的面向數(shù)據(jù)報的傳輸層協(xié)議,IETF RFC 768是UDP的正式規(guī)范。 UDP 協(xié)議基本上是 IP 協(xié)議與上層協(xié)議的接口。 UDP 協(xié)
14、議適用端口分別運(yùn)行在同一臺設(shè)備上的多個應(yīng)用程序。 </p><p> 由于大多數(shù)網(wǎng)絡(luò)應(yīng)用程序都在同一臺機(jī)器上運(yùn)行,計(jì)算機(jī)上必須能夠確保目的地機(jī)器上的軟件程序能從源地址機(jī)器處獲得數(shù)據(jù)包,以及源計(jì)算機(jī)能收到正確的回復(fù)。這是通過使用 UDP 的“端口號”完成的。例如,如果一個工作站希望在工作站 128.1.123.1 上使用域名服務(wù)系統(tǒng),它就會給數(shù)據(jù)包一個目的地址 128.1.123.1 ,并在 UDP 頭插入目標(biāo)端
15、口號 53 。源端口號標(biāo)識了請求域名服務(wù)的本地機(jī)的應(yīng)用程序,同時需要將所有由目的站生成的響應(yīng)包都指定到源主機(jī)的這個端口上。 UDP 端口的詳細(xì)介紹可以參照相關(guān)文章。 </p><p> 3.2客戶機(jī)/服務(wù)器模式</p><p> 在TCP/IP網(wǎng)絡(luò)中兩個進(jìn)程間的相互作用的主機(jī)模式是客戶機(jī)/服務(wù)器模式(Client/Server model)。該模式的建立基于以下兩點(diǎn):1、非對等作用;2
16、、通信完全是異步的。客戶機(jī)/服務(wù)器模式在操作過程中采取的是主動請示方式: </p><p> 首先服務(wù)器方要先啟動,并根據(jù)請示提供相應(yīng)服務(wù):(過程如下)</p><p> 1、打開一通信通道并告知本地主機(jī),它愿意在某一個公認(rèn)地址上接收客戶請求。</p><p> 2、等待客戶請求到達(dá)該端口。</p><p> 3、接收到重復(fù)服務(wù)請求,
17、處理該請求并發(fā)送應(yīng)答信號。</p><p> 4、返回第二步,等待另一客戶請求</p><p><b> 5、關(guān)閉服務(wù)器。</b></p><p><b> 客戶方:</b></p><p> 1、打開一通信通道,并連接到服務(wù)器所在主機(jī)的特定端口。</p><p>
18、 2、向服務(wù)器發(fā)送服務(wù)請求報文,等待并接收應(yīng)答;繼續(xù)提出請求……</p><p> 3、請求結(jié)束后關(guān)閉通信通道并終止。</p><p><b> 3.3基本套接字</b></p><p> 為了更好說明套接字編程原理,給出幾個基本的套接字: </p><p> 1、創(chuàng)建套接字——socket()</p>
19、;<p> 功能:使用前創(chuàng)建一個新的套接字</p><p> 格式:SOCKET PASCAL FAR socket(int af,int type,int procotol);</p><p> 參數(shù):af: 通信發(fā)生的區(qū)域</p><p> type: 要建立的套接字類型</p><p> procotol: 使用
20、的特定協(xié)議</p><p> 2、指定本地地址——bind()</p><p> 功能:將套接字地址與所創(chuàng)建的套接字號聯(lián)系起來。</p><p> 格式:int PASCAL FAR bind(SOCKET s,const struct sockaddr FAR * name,int namelen);</p><p> 參數(shù):s:
21、是由socket()調(diào)用返回的并且未作連接的套接字描述符(套接字號)。</p><p> 其它:沒有錯誤,bind()返回0,否則SOCKET_ERROR</p><p><b> 地址結(jié)構(gòu)說明:</b></p><p> struct sockaddr_in</p><p> {short sin_famil
22、y;//AF_INET</p><p> u_short sin_port;//16位端口號,網(wǎng)絡(luò)字節(jié)順序</p><p> struct in_addr sin_addr;//32位IP地址,網(wǎng)絡(luò)字節(jié)順序</p><p> char sin_zero[8];//保留</p><p><b> }</b><
23、/p><p> 3、建立套接字連接——connect()和accept()</p><p> 功能:共同完成連接工作</p><p> 格式:int PASCAL FAR connect(SOCKET s,const struct sockaddr FAR * name,int namelen);</p><p> SOCKET PASC
24、AL FAR accept(SOCKET s,struct sockaddr FAR * name,int FAR * addrlen);</p><p><b> 參數(shù):同上</b></p><p> 4、監(jiān)聽連接——listen()</p><p> 功能:用于面向連接服務(wù)器,表明它愿意接收連接。</p><p&g
25、t; 格式:int PASCAL FAR listen(SOCKET s, int backlog);</p><p> 5、數(shù)據(jù)傳輸——send()與recv()</p><p> 功能:數(shù)據(jù)的發(fā)送與接收</p><p> 格式:int PASCAL FAR send(SOCKET s,const char FAR * buf,int len,int fl
26、ags);</p><p> int PASCAL FAR recv(SOCKET s,const char FAR * buf,int len,int flags);</p><p> 參數(shù):buf:指向存有傳輸數(shù)據(jù)的緩沖區(qū)的指針。 </p><p> 6、多路復(fù)用——select()</p><p> 功能:用來檢測一個或多個套接
27、字狀態(tài)。</p><p> 格式:int PASCAL FAR select(int nfds,fd_set FAR * readfds,fd_set FAR * writefds, </p><p> fd_set FAR * exceptfds,const struct timeval FAR * timeout);</p><p> 參數(shù):readfds
28、:指向要做讀檢測的指針</p><p> writefds:指向要做寫檢測的指針</p><p> exceptfds:指向要檢測是否出錯的指針</p><p> timeout:最大等待時間</p><p> 7、關(guān)閉套接字——closesocket()</p><p><b> 功能:關(guān)閉套接字
29、s</b></p><p> 格式:BOOL PASCAL FAR closesocket(SOCKET s);</p><p><b> 4、 系統(tǒng)設(shè)計(jì)</b></p><p><b> 4.1 設(shè)計(jì)思想</b></p><p> 整個系統(tǒng)分為廣播發(fā)送端和接收端,發(fā)送端發(fā)送數(shù)
30、據(jù)信息到多播組。接受端可以選擇接收與不接收,服務(wù)器端是信息的中心。服務(wù)器端可以打開指定的文件,通過定時器不斷發(fā)送信息,同時可以自己顯示正在發(fā)送和已發(fā)送的信息。客戶端則可以選擇接收和停止接收,同時顯示接收到的內(nèi)容。</p><p> 本課程設(shè)計(jì)按照系統(tǒng)的具體功能要求,首先應(yīng)用Socket編程創(chuàng)建客戶端和服務(wù)器端,每個接收端就會相應(yīng)的創(chuàng)建一個線程,它們之間通過這個連接來實(shí)現(xiàn)數(shù)據(jù)通信;然后在發(fā)送端和接收端設(shè)置一個監(jiān)聽
31、器,用于監(jiān)聽發(fā)出的消息。并根據(jù)消息做出不同的動作。</p><p><b> 4.2系統(tǒng)功能</b></p><p> 該系統(tǒng)實(shí)現(xiàn)了局域網(wǎng)內(nèi)部的信息廣播,,同一子網(wǎng)掩碼下的用戶都可以接收并查看。發(fā)送端發(fā)送的信息。發(fā)送端可以開始發(fā)送和停止發(fā)送,接收端也可以接收和停止接收,兩端都可以顯示發(fā)送的信息。</p><p><b> 4.3
32、系統(tǒng)架構(gòu)</b></p><p> ?。?)選擇用戶數(shù)據(jù)報協(xié)議UDP,使用VC的socket編程機(jī)制,分別建立發(fā)送端與接收端,自己可以設(shè)定主機(jī)的地址。</p><p> ?。?)分別設(shè)計(jì)發(fā)送端與接收器端的界面,并使用MFC程序用戶界面的開發(fā)工具包Swing進(jìn)行窗體界面的布局,以及實(shí)現(xiàn)部分窗口事件的相應(yīng)。</p><p><b> 4.4 模塊
33、設(shè)計(jì)</b></p><p> (1) 廣播發(fā)送端:</p><p> 主要實(shí)現(xiàn)向各個接收端發(fā)布廣播消息。 </p><p> 1、選擇要發(fā)送的文件:可以選擇路徑。</p><p> 2、發(fā)送信息:運(yùn)用MulticastSocket多播數(shù)據(jù)報套接字類用于發(fā)送和接收 IP 多播包。設(shè)置Timer計(jì)時器在指定時間間隔觸發(fā)一個
34、或多個 ActionEvent。</p><p> 3、顯示消息:顯示發(fā)送的內(nèi)容和已發(fā)送的內(nèi)容。主要用BufferedReader(Reader in) </p><p> 創(chuàng)建一個使用默認(rèn)大小輸入緩沖區(qū)的緩沖字符輸入流用來每次顯示一行正發(fā)送的內(nèi)容。顯示已發(fā)送的內(nèi)容則要使用append(String str) 將給定文本追加到文本區(qū)的當(dāng)前文本。</p><p>
35、<b> ?。?) 客戶端:</b></p><p> 主要實(shí)現(xiàn)接收發(fā)送端發(fā)送的消息,和發(fā)送端一樣可以顯示已接收的信息內(nèi)容。和接受端得一個重要的區(qū)別在于它不需要打開一個文件,代碼要簡單一點(diǎn)。</p><p><b> 5、詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)</b></p><p><b> 5.1 服務(wù)器端</b>
36、</p><p> //Server.cpp</p><p> #pragma comment(lib, "ws2_32.lib")</p><p> #include <winsock2.h></p><p> #include <ws2tcpip.h></p><p&
37、gt; #include <stdio.h></p><p> #include <stdlib.h></p><p> #define MCASTADDR "233.0.0.1" //本例使用的多播組地址。</p><p> #define MCASTPORT 5150 //綁定的本地端口號。</p>
38、<p> #define BUFSIZE 1024 //接收數(shù)據(jù)緩沖大小。</p><p> int main( int argc,char ** argv)</p><p><b> {</b></p><p> WSADATA wsd;</p><p> struct sockaddr_in
39、remote;</p><p> SOCKET sock,sockM;</p><p> TCHAR sendbuf[BUFSIZE];</p><p> int len = sizeof( struct sockaddr_in);</p><p> if( WSAStartup( MAKEWORD(2,2),&wsd) !=
40、0)</p><p><b> {</b></p><p> printf("WSAStartup() failed\n");</p><p> return -1;</p><p><b> }</b></p><p> if((sock=WS
41、ASocket(AF_INET,SOCK_DGRAM,0,NULL,0,</p><p> WSA_FLAG_MULTIPOINT_C_LEAF|WSA_FLAG_MULTIPOINT_D_LEAF|</p><p> WSA_FLAG_OVERLAPPED)) == INVALID_SOCKET)</p><p><b> {</b>&
42、lt;/p><p> printf("socket failed with:%d\n",WSAGetLastError());</p><p> WSACleanup();</p><p> return -1;</p><p><b> }</b></p><p> r
43、emote.sin_family = AF_INET;</p><p> remote.sin_port = htons(MCASTPORT);</p><p> remote.sin_addr.s_addr = inet_addr( MCASTADDR );</p><p> if(( sockM = WSAJoinLeaf(sock,(SOCKADDR*)
44、&remote,</p><p> sizeof(remote),NULL,NULL,NULL,NULL,</p><p> JL_BOTH)) == INVALID_SOCKET)</p><p><b> {</b></p><p> printf("WSAJoinLeaf() failed
45、:%d\n",WSAGetLastError());</p><p> closesocket(sock);</p><p> WSACleanup();</p><p> return -1;</p><p><b> }</b></p><p><b> whil
46、e(1)</b></p><p><b> {</b></p><p> printf("發(fā)送 :");</p><p> scanf("%s",sendbuf);</p><p> if(sendto(sockM,(char*)sendbuf,strlen(s
47、endbuf),0,(struct sockaddr*)&remote,sizeof(remote))==SOCKET_ERROR)</p><p><b> {</b></p><p> printf("sendto failed with: %d\n",WSAGetLastError());</p><p>
48、 closesocket(sockM);</p><p> closesocket(sock); </p><p> WSACleanup();</p><p> return -1;</p><p><b> }</b></p><p> if(strcmp(sendbuf,&quo
49、t;QUIT")==0) break;</p><p> Sleep(500);</p><p><b> }</b></p><p> closesocket(sockM);</p><p> closesocket(sock);</p><p> WSACleanup(
50、);</p><p><b> return 0;</b></p><p><b> }</b></p><p><b> 5.2客戶端:</b></p><p> // Client.cpp</p><p> #pragma comment
51、(lib, "ws2_32.lib")</p><p> #include <winsock2.h></p><p> #include <ws2tcpip.h></p><p> #include <stdio.h></p><p> #include <stdlib.h
52、></p><p> #define MCASTADDR "233.0.0.1" //本例使用的多播組地址。</p><p> #define MCASTPORT 5150 //綁定的本地端口號。</p><p> #define BUFSIZE 1024 //接收數(shù)據(jù)緩沖大小。</p><p> int m
53、ain( int argc,char ** argv){</p><p> WSADATA wsd;</p><p> struct sockaddr_in local,remote,from;</p><p> SOCKET sock,sockM;</p><p> TCHAR recvbuf[BUFSIZE];</p>
54、<p> int len = sizeof( struct sockaddr_in);</p><p><b> int ret;</b></p><p> //初始化WinSock2.2</p><p> if(WSAStartup(MAKEWORD(2,2),&wsd) != 0){</p>&l
55、t;p> printf("WSaStartup() failed\n");</p><p> return -1;</p><p><b> }</b></p><p> if((sock=WSASocket(AF_INET,SOCK_DGRAM,0,NULL,0,</p><p>
56、WSA_FLAG_MULTIPOINT_C_LEAF|WSA_FLAG_MULTIPOINT_D_LEAF|</p><p> WSA_FLAG_OVERLAPPED)) == INVALID_SOCKET){</p><p> printf("socket failed with:%d\n",WSAGetLastError());</p><p
57、> WSACleanup();</p><p> return -1;</p><p><b> }</b></p><p> // 將sock綁定到本機(jī)某端口上</p><p> local.sin_family = AF_INET;</p><p> local.sin_po
58、rt = htons(MCASTPORT);</p><p> local.sin_addr.s_addr = INADDR_ANY;</p><p> if( bind(sock,(struct sockaddr*)&local,sizeof(local)) == SOCKET_ERROR )</p><p><b> {</b>
59、;</p><p> printf( "bind failed with:%d \n",WSAGetLastError());</p><p> closesocket(sock);</p><p> WSACleanup();</p><p> return -1;</p><p><
60、;b> }</b></p><p><b> //加入多播組</b></p><p> remote.sin_family = AF_INET;</p><p> remote.sin_port = htons(MCASTPORT);</p><p> remote.sin_addr.s_ad
61、dr = inet_addr( MCASTADDR );</p><p> if(( sockM = WSAJoinLeaf(sock,(SOCKADDR*)&remote,sizeof(remote),NULL,NULL,NULL,NULL, JL_BOTH)) == INVALID_SOCKET)</p><p><b> {</b></p>
62、;<p> printf("WSAJoinLeaf() failed:%d\n",WSAGetLastError());</p><p> closesocket(sock);</p><p> WSACleanup();</p><p> return -1;</p><p><b>
63、}</b></p><p> //接收多播數(shù)據(jù),當(dāng)接收到的數(shù)據(jù)為"quit"時退出。</p><p><b> while(1)</b></p><p><b> {</b></p><p> if(( ret = recvfrom(sock,recvbuf,
64、BUFSIZE,0,(struct sockaddr*)&from,&len)) == SOCKET_ERROR)</p><p><b> {</b></p><p> printf("recvfrom failed with:%d\n",WSAGetLastError());</p><p> cl
65、osesocket(sockM);</p><p> closesocket(sock);</p><p> WSACleanup();</p><p> return -1;</p><p><b> }</b></p><p> if( strcmp(recvbuf,"QU
66、IT") == 0 ) break;</p><p><b> else {</b></p><p> recvbuf[ret] = '\0';</p><p> printf("RECV:' %s ' FROM<%s> \n",recvbuf,inet_ntoa(
67、from.sin_addr));</p><p><b> }</b></p><p><b> }</b></p><p> closesocket(sockM);</p><p> closesocket(sock);</p><p> WSACleanup()
68、;</p><p><b> return 0;</b></p><p><b> }</b></p><p><b> 5.3 窗口截圖</b></p><p> 局域網(wǎng)廣播客戶端初始界面,如圖:</p><p> 局域網(wǎng)廣播服務(wù)器端初始界面
69、,如圖:</p><p> 發(fā)送/接收到的信息界面,如圖:</p><p><b> 6、總結(jié):</b></p><p> 經(jīng)過努力,我終于將課程設(shè)計(jì)做完了。在這次作業(yè)過程中,我遇到了許多困難,但在老師,同學(xué)的幫助和我的努力下,我順利的完成了設(shè)計(jì)。這個程序代碼并不多,也不復(fù)雜,但程序編寫中用到了VC中的組件,面板容器,事件處理,線程的創(chuàng)建
70、、同步,輸入輸出處理,內(nèi)部類,異常處理,和網(wǎng)絡(luò)通信的知識,這次的課程設(shè)計(jì)讓我受益非淺。設(shè)計(jì)過程中對程序整體的認(rèn)知不夠準(zhǔn)確,只能想到一部分功能而不能</p><p> 滿足整體的要求。通過查詢參考書和向同學(xué)請教,最后終于搞明白了。在整個設(shè)計(jì)過程中,對我來說,收獲最大的是方法和能力,那些分析和解決問題的方法與能力。在整個過程中,我發(fā)現(xiàn)我的理論知識和實(shí)際應(yīng)用脫節(jié)??傮w來說,我覺得做這種設(shè)計(jì)對我的幫助還是很大的,它需要
71、我們將學(xué)過的相關(guān)知識都系統(tǒng)地聯(lián)系起來,對學(xué)過的理論進(jìn)行深入的理解,這就為我們以后進(jìn)行相關(guān)的工作打下了基礎(chǔ)。</p><p><b> 7、參考文獻(xiàn):</b></p><p> [1] 任泰明著. TCP/IP協(xié)議與網(wǎng)絡(luò)編程. 西安電子科技大學(xué)出版社. 2004</p><p> [2] 鄧全良著. Winsock網(wǎng)絡(luò)程序設(shè)計(jì). 中國鐵道出
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)絡(luò)系統(tǒng)課程設(shè)計(jì)--局域網(wǎng)信息廣播
- 局域網(wǎng)課程設(shè)計(jì)--宿舍小型局域網(wǎng)組建
- 局域網(wǎng)qq課程設(shè)計(jì)
- 局域網(wǎng)組建課程設(shè)計(jì)
- 校園局域網(wǎng)課程設(shè)計(jì)
- 網(wǎng)絡(luò)工程課程設(shè)計(jì)---校園局域網(wǎng)
- 網(wǎng)絡(luò)課程設(shè)計(jì)--校園局域網(wǎng)的建設(shè)
- 局域網(wǎng)課程設(shè)計(jì)---組建小型企業(yè)局域網(wǎng)
- 企業(yè)局域網(wǎng)課程設(shè)計(jì)--局域網(wǎng)組網(wǎng)方案設(shè)計(jì)
- 局域網(wǎng)課程設(shè)計(jì)企業(yè)網(wǎng)組建
- 組建校園局域網(wǎng)課程設(shè)計(jì)
- 組建校園局域網(wǎng)-課程設(shè)計(jì)
- 多校區(qū)局域網(wǎng)課程設(shè)計(jì)
- 小型無線局域網(wǎng)組網(wǎng)課程設(shè)計(jì)
- 局域網(wǎng)課程設(shè)計(jì)--校園網(wǎng)方案書
- 《網(wǎng)絡(luò)工程》課程設(shè)計(jì)--組建智能小區(qū)局域網(wǎng)
- 多校區(qū)局域網(wǎng)課程設(shè)計(jì)報告
- 計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)---校園局域網(wǎng)
- 局域網(wǎng)課程設(shè)計(jì)報告---小型宿舍網(wǎng)的組建
- 小型局域網(wǎng)組建與配置課程設(shè)計(jì)
評論
0/150
提交評論