Linux环境下C语言Socket编程——客户端向服务端单次发送一个或多个文件的功能

       最近正好在学习Socket编程,需要实现一个客户端向服务端发送文件的小功能,但是发现网上很多源码都是每次传送一个文件,如果想传输多个文件,不但需要多次交互,还需要把每个文件的文件名都输入进去,很不方便,所以进行了一个小扩展:即客户端可以将打算传送的多个文件都放到一个文件夹目录下,然后通过代码实现将这一文件目录下的所有文件一次打包发送给服务端。

       不但一次交互即可实现,并且也可以说实现了传送文件夹的功能。

代码链接:https://download.csdn.net/download/sinyusin/12265472

下面是代码演示:

1. 首先我是在本地虚拟机Ubuntu 18.04操作系统下进行的演示,我建立了两个文件夹,一个归客户端所有,叫client_text,另一个归服务端所有,叫server_text

Linux环境下C语言Socket编程——客户端向服务端单次发送一个或多个文件的功能_第1张图片2. 然后我在client_text文件夹下放了一些文本和图片文件做实验:

Linux环境下C语言Socket编程——客户端向服务端单次发送一个或多个文件的功能_第2张图片

3.server_text文件夹目前是空的

Linux环境下C语言Socket编程——客户端向服务端单次发送一个或多个文件的功能_第3张图片

4. 打开两个控制台分别运行服务端和客户端:

Linux环境下C语言Socket编程——客户端向服务端单次发送一个或多个文件的功能_第4张图片

Linux环境下C语言Socket编程——客户端向服务端单次发送一个或多个文件的功能_第5张图片

5. 执行多文件传输,控制台产生了一些过程性的输出,没有删掉,但是不影响结果

Linux环境下C语言Socket编程——客户端向服务端单次发送一个或多个文件的功能_第6张图片

6. 最后服务器这边,可以看到无论是图片还是文本文件都一次性全部传输了过来,单个文件的传输就不再展示了...

Linux环境下C语言Socket编程——客户端向服务端单次发送一个或多个文件的功能_第7张图片

你可能感兴趣的:(Linux,linux,c++,socket)