概述
Linux 服务端, Windows 客户端
客户端负责输入要下载的文件名字, 服务器负责传送,
但这个代码非常简单,后期可以加好多功能,比如
- 大文件传输
显示有多少文件名
上传文件
Server
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <sys/stat.h>
#pragma pack(1)
class File {
public:
int m_fsize;
char m_fname[30];
char package[1024];
void getfilename(int fd){
char buf[2000];
int len = read(fd, buf, sizeof(buf));
// 获取文件信息
File *tmp = (File*)buf;
strcpy(m_fname, tmp->m_fname);
struct stat fileinfo;
stat(m_fname, &fileinfo);
m_fsize = fileinfo.st_size;
}
void sendfileinfo(int fd){
FILE* wfd = fopen(m_fname, "rb");
int num = fread(package, sizeof(char), m_fsize, wfd);
package[m_fsize] = '