Linux環境下C語言Socket編程——客戶端向服務端單次發送一個或多個文件的功能

       最近正好在學習Socket編程,需要實現一個客戶端向服務端發送文件的小功能,但是發現網上很多源碼都是每次傳送一個文件,如果想傳輸多個文件,不但需要多次交互,還需要把每個文件的文件名都輸入進去,很不方便,所以進行了一個小擴展:即客戶端可以將打算傳送的多個文件都放到一個文件夾目錄下,然後通過代碼實現將這一文件目錄下的所有文件一次打包發送給服務端。

       不但一次交互即可實現,並且也可以說實現了傳送文件夾的功能。

代碼鏈接:https://download.csdn.net/download/sinyusin/12265472

下面是代碼演示:

1. 首先我是在本地虛擬機Ubuntu 18.04操作系統下進行的演示,我建立了兩個文件夾,一個歸客戶端所有,叫client_text,另一個歸服務端所有,叫server_text

2. 然後我在client_text文件夾下放了一些文本和圖片文件做實驗:

3.server_text文件夾目前是空的

4. 打開兩個控制檯分別運行服務端和客戶端:

5. 執行多文件傳輸,控制檯產生了一些過程性的輸出,沒有刪掉,但是不影響結果

6. 最後服務器這邊,可以看到無論是圖片還是文本文件都一次性全部傳輸了過來,單個文件的傳輸就不再展示了...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章