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

正文內(nèi)容

計算機(jī)網(wǎng)絡(luò)文件傳輸及管理系統(tǒng)課程設(shè)計報告-wenkub

2023-04-07 12:18:47 本頁面
 

【正文】 層,設(shè)備驅(qū)動程序和物理介質(zhì),最后到接收方。通俗而言:TCP負(fù)責(zé)發(fā)現(xiàn)傳輸?shù)膯栴},一有問題就發(fā)出信號,要求重新傳輸,直到所有數(shù)據(jù)安全正確地傳輸?shù)侥康牡亍?通過課程設(shè)計,培養(yǎng)嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度,嚴(yán)肅認(rèn)真的工作作風(fēng),和團(tuán)隊協(xié)作精神。.培養(yǎng)選用參考書,查閱手冊及文獻(xiàn)資料的能力。要學(xué)Internet上的TCP/IP網(wǎng)絡(luò)編程,必須理解Socket接口。如果了解Unix系統(tǒng)的輸入和輸出的話,就很容易了解Socket了。Socket也具有一個類似于打開文件的函數(shù)調(diào)用Socket(),該函數(shù)返回一個整型的Socket描述符,隨后的連接建立、數(shù)據(jù)傳輸?shù)炔僮鞫际峭ㄟ^該Socket實現(xiàn)的。Socket接口是TCP/IP網(wǎng)絡(luò)的API,Socket接口定義了許多函數(shù)或例程,程序員可以用它們來開發(fā)TCP/IP網(wǎng)絡(luò)上的應(yīng)用程序。常用的Socket類型有兩種:流式Socket (SOCK_STREAM)和數(shù)據(jù)報式Socket(SOCK_DGRAM)。關(guān)鍵字: Socket、文件傳輸、多線程第1章 課程設(shè)計要求一、設(shè)計任務(wù) 課程設(shè)計內(nèi)容文件傳輸協(xié)議的簡單設(shè)計與實現(xiàn):學(xué)會利用已有網(wǎng)絡(luò)環(huán)境設(shè)計并實現(xiàn)簡單應(yīng)用層協(xié)議,掌握TCP/IP網(wǎng)絡(luò)應(yīng)用程序基本的設(shè)計方法和實現(xiàn)技巧,加深對客戶/服務(wù)器的工作模式的認(rèn)識。培養(yǎng)獨立思考,深入研究,分析問題、解決問題的能力。二、設(shè)計基本思路及相關(guān)理論、TCP/IP協(xié)議TCP/IP協(xié)議是Internet最基本的協(xié)議、Internet國際互聯(lián)網(wǎng)絡(luò)的基礎(chǔ),由網(wǎng)絡(luò)層的IP協(xié)議和傳輸層的TCP協(xié)議組成。TCP是面向連接的通信協(xié)議,通過三次握手建立連接,通訊完成時要拆除連接,由于TCP是面向連接的所以只能用于點對點的通訊。 、客戶機(jī)/服務(wù)器模型網(wǎng)絡(luò)應(yīng)用層程序一般都是以客戶機(jī)/服務(wù)器模型的方式工作的,而因特網(wǎng)便是客戶機(jī)/服務(wù)器模型的一個典型應(yīng)用。圖1 客戶機(jī)/服務(wù)器模型的工作流程、設(shè)計基本思路設(shè)計程序使客戶端連接的時候,服務(wù)器將會向客戶端發(fā)回一條消息告知它的IP地址,然后關(guān)閉連接并繼續(xù)接收端口的連接。模擬TCP工作機(jī)制,確定數(shù)據(jù)端口傳送數(shù)據(jù)時,進(jìn)行分組傳送。項目的分析及設(shè)計要求如下:1)整個系統(tǒng)中分為服務(wù)器端(Server)和客戶端(Client)2)服務(wù)器端可以對文件進(jìn)行管理,包括上傳,下載,刪除文件,重命名等3)客服端可以實現(xiàn)文件的上傳、下載以及查看服務(wù)器下默認(rèn)目錄的文件列表4)在程序中應(yīng)用多線程來實現(xiàn)多個客戶端同時對一個服務(wù)器端進(jìn)行請求操作 程序系統(tǒng)功能模塊文件傳輸系統(tǒng)服務(wù)器客戶端接收client命令文件管理連接服務(wù)器文件傳輸列表查看退出附加功能 功能分析 功能流程圖:Server端創(chuàng)建ServerSocket對象,在某端口提供監(jiān)聽服務(wù)Client端等待來自Client端的服務(wù)請求接受Client端的請求,用返回的Socket建立連接通過向Socket中讀寫數(shù)據(jù)來與Client端通信關(guān)閉Socket,結(jié)束與Server端的通信通過向新的Socket中讀寫數(shù)據(jù)來與Server端通信創(chuàng)建Socket對象,向Server的監(jiān)聽端口請求關(guān)閉Socket,結(jié)束與當(dāng)前Client的通信,等待其他請求關(guān)閉ServerSocket對象,結(jié)束監(jiān)聽服務(wù)建立連接數(shù)據(jù)通信拆分連接 面向連接的客戶機(jī)/服務(wù)器程序工作模型 程序主要功能說明主要功能實現(xiàn)代碼如下:1. 服務(wù)器端//include include include include define LISTENPORT 12345pragma ment(lib,Wsock32)pragma ment(lib,ws2_32)sendFile(SOCKET conSock){ printf(Prapare to send file\n)。 printf(選擇要傳輸?shù)奈募?。 exit(0)。 long file_len = filelength(handle)。 for (i = 0。 } sendBuf[i] = file_len % 10。 char ch。ch, 1, 0)。 printf(.)。 printf(\nTransmission finished)。 } SOCKET listenSock, conSock。 if (listenSock == INVALID_SOCKET) { printf(ListenSocket create failed!\n)。 = htons(LISTENPORT)。sin, ServerAddrLen) == SOCKET_ERROR) { printf(Bind error!\n)。 return 0。remoteAddrLen)。 sendFile(conSock)。 return 1。 char destfile[50]。 printf(Name of the file is %s \n, destfile)。 } // Receive size of the file int flag_file_len = recv(consock, recvBuff, 100, 0)。 i++) { long temp = recvBuff[i]。 } file_len = file_len + temp。 char ch。ch, 1, 0)) { fputc(ch, dest)。 if (file_len == 0) { break。 if(WSAStartup(MAKEWORD(2,2),amp。 if (conSock == INVALID_SOCKET) { printf(Socket create failed\n)。 = htons(SERVERPORT)。 return 0。 WSACleanup()。 long s_free[100]。struct index_block{ int s_nfree。 int inode_num。 long i_addr[16]。 int inode_num。 long i_addr[16]。 }table[5]。 //創(chuàng)建一個新的可讀寫的二進(jìn)制文件 fseek(f,SYS_SIZE,SEEK_SET)。 //打開一個可讀寫的二進(jìn)制文件}void myfree(long block_num) { int i。 for(i=0。 fwrite(amp。 }}long myalloc() { int i。 fseek(f,(a1)*BLOCK_SIZE,SEEK_SET)。 for(i=0。 }else return ps_free[ps_nfree]。 ps_free[0]=0。i++) ps_inode[i]=1。 j=ps_nfree+1。}int ialloc(){ int i=0。 return i。file,sizeof(struct filelist),1,f)。 return 1。 }while(k5)。 char name[12]。 if(namei(name)!=1) printf(file exited!\n)。 fseek(f,BLOCK_SIZE+inode_num*16,SEEK_SET)。 =0。 time(amp。 fseek(f,4*BLOCK_SIZE+inode_num*sizeof(struct inode),SEEK_SET)。 printf(create sucessfully!\n)。k++) { if(ps_inode[k]=0) { fseek(f,BLOCK_SIZE+k*16,SEEK
點擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1