基于TCP socket的文件上传与下载(服务器、客户端)

一、功能

        客户端:

                1.将本地文件上传到服务器  

                2.将服务器端的文件下载到本地

        服务器:

                1.接收客户端上传的文件并保存  

                2.将客户端请求下载的文件传输给客户端

二、原理

        客户端:

                1.创建网络通信接口

                        int socket(int domain, int type, int protocol);

                2.将客户端的IP地址和端口号与socket绑定

                        int connet(int sockfd, const struct sockaddr *addr, socklen_t addrlen);

                3.与服务器进行通信

                        recv() : 可接受服务器发来的消息

                        send():可给服务器发送消息

                        open():创建文件,文件上传或下载需要新的文件来接收

        服务器:                

                1.创建网络通信接口

                        int socket(int domain, int type, int protocol);

                2.将服务器的IP地址和端口号与socket绑定

                        int bind(int sockfd, const struct sockaddr *addr,  socklen_t addrlen);

                3.监听是否有客户端请求连接

                        int listen(int sockfd, int backlog);

                4.阻塞等待客户端连接

                        int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);

                5.与客户端进行通信

                        recv() : 可接受客户端发来的消息

                        send():可给客户端发送消息

                        open():创建文件,文件上传或下载需要新的文件来接收

三、代码

tcp_server.c

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#define SIZE 64

int server_init(char *ipaddr, unsigned short port, int backlog);
void processGet(int rws,char *fileName);//下载
void processPut(int rws,char *fileName);//下载
void processList(int rws);//目录列表

int main(int ar

你可能感兴趣的:(linux,服务器,tcp,c#)