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

正文內容

linux下基于socket的文件傳輸程序設計課程設計報告-資料下載頁

2025-11-01 08:11本頁面

【導讀】重慶大學課程設計實驗報告。課程設計指導教師評定成績表。參考標準參考標準參考標準參考標準參考標準。有一定見解觀念陳舊。已知參數和設計要求:。務器下默認目錄的文件列表;服務器端可以對文件進行管理,包括上傳,下載,刪除文件,重命名等;學生應完成的工作:。malloc()和free()等內存管理函數實現(xiàn)),并在程序中調用;加分項:1、實現(xiàn)了用戶的權限管理;目前資料收集情況:。TCP/IP進行網絡互聯(lián)電子工業(yè)出版社。、汪文勇清華大學出版社:1993. 殷兆麟清華大學出版社。C++網絡高級編程陳堅人民郵電出版社,2020年08月。4.系統(tǒng)實現(xiàn)編碼。任務下達日期2020年6月17日完成日期2020年6月21日

  

【正文】 } while ((nbyte = recv(sockfd, buf, N, 0)) 0) { write(fd, buf, nbyte)。 } printf(下載文件成功 \n)。 close(fd)。 ERROR_2: close(sockfd)。 return。 } : void ProcessPut(struct sockaddr_in server_addr, char mand[]) { int sockfd, fd, nbyte。 char buf[N]。 if ((sockfd = socket(PF_INET, SOCK_STREAM, 0)) 0) { printf(上傳失敗 \n)。 return。 } if (connect(sockfd, (SA *)amp。server_addr, sizeof(server_addr)) 0) { printf(連接 server失敗 \n)。 goto ERROR_3。 12 12 } if ((fd = open(mand+4, O_RDONLY)) 0) { printf(打開文件 %s失敗 \n, mand+4)。 goto ERROR_3。 } sprintf(buf, P%s, mand+4)。 send(sockfd, buf, N, 0)。 while ((nbyte = read(fd, buf, N)) 0) { send(sockfd, buf, nbyte, 0)。 } printf(上傳文件成功 \n)。 close(fd)。 ERROR_3: close(sockfd)。 return。 } 13 13 第三章 調試分析與測試結果 服務器端 服務器端初始狀態(tài): 14 14 對服務器端進行文件管理: 拷貝: 執(zhí)行結果:將文件 b拷貝生成文件 c 15 15 列出服務器端文件列表: 16 16 刪除文件: 刪除文件之后,再查看服務器端目錄下文件列表: 由上圖可以發(fā)現(xiàn) 文件已經被刪除。 17 17 創(chuàng)建文件: 由上圖,先創(chuàng)建 的文件,再查看服務器端目錄下文件列表,發(fā)現(xiàn)文件創(chuàng)建成功。 重命名文件: 將文件 重命名為 : 18 18 再查看文件列表: 由上圖發(fā)現(xiàn), 已更名為 。 移動文件: 運行成功后,查看目標目錄,發(fā)現(xiàn) 已經成功移動到目標目錄。 19 19 退出文件管理并監(jiān)聽客戶端: 20 20 客戶端 查看客戶端文件列表: 查看服務器端文件列表: 21 21 從服務器 端下載文件到客戶端: 下載成功之后,查看客戶端文件目錄,發(fā)現(xiàn) 出現(xiàn)在客戶端文件目錄中。 從客戶端上傳文件到服務器端: 上傳成功之后,查看客戶端文件目錄,發(fā)現(xiàn) 出現(xiàn)在服務器端文件目錄中。 22 22 更改文件目錄 : 移動 文件后,查看客戶端文件列表,發(fā)現(xiàn)其已不在列表中,再查看移動的目標目錄: 發(fā)現(xiàn)文件已在相應文件夾中。 23 23 第四章 設計總結 這次課程設計可謂收獲頗大 ,首先從一開始對 Linux 編程只有膚淺的認識 ,到做完實驗后有了一定程度的了解 ,并能夠進行簡單 的程序設計和編寫。如果沒有這次實驗 ,我想我很難有機會去接觸從而進一步熟悉 Linux 這個操作系統(tǒng)以及在 Linux 下的編程。通過實驗我認識到了系統(tǒng)調用的實現(xiàn)原理 ,系統(tǒng)信息和狀態(tài)的讀取 ,讓我從中學到了不少 Linux 的知識。 在實驗的過程中,我們特別是對 Linux 下通過 Socket 來實現(xiàn)文件傳輸有了更深的認識,我想這是我們這次課程設計中最大的收獲。服務器的工作流程是這樣的:首先調用 socket 函數創(chuàng)建一個 Socket,然后調用 bind 函數將其與本機地址以及一個本地端口號綁定,然后調用 listen 在相應的 socket 上監(jiān)聽,當accpet 接收到一個連接服務請求時,將生成一個新的 socket。服務器顯示該客戶機的 IP 地址,并通過 新的 socket 向客戶端發(fā)送字符串。最后關閉該 socket。 在關于調用多線程實現(xiàn)服務器端同時與多個客戶端進行操作也讓我們有了更多更加深入的體會。代碼實例中的 fork()函數生成一個子進程來處理數據傳輸部分, fork()語句對于子進程返回的值為 0。所以包含 fork 函數的 if語句是子進程代碼部分,它與 if語句后面的父進程代碼部分是并發(fā)執(zhí)行的。 實驗過程中遇到了不少問題 ,主要是對 Linux 下 的編程環(huán)境不熟悉 ,一開始對于編譯命令就相當的反感 :怎么這么長的命令…對于終端的使用也是很不滿意 ,覺得編起來很不方便 ,當然我不會輕易放棄 ,還是自己不斷的查詢教程 ,不斷的百度 ,慢慢一步步還是把一個個問題給突破了。堅持就是勝利 ,我始終相信。 24 24 第五章 參考文獻 1.《 深入理解 Linux內核》 陳莉君等譯 中國電力出版社 2. 《 Linux內核設計與實現(xiàn)》 陳莉君等譯 機械工業(yè)出版社 3. 《 Linux內核源代碼情景分析》 毛德操,胡希明 浙江大學出版社 4.《 TCP/IP網絡原理與技術 》 周明天、汪文勇 清華大學出版社 : 1993
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1