update ftpclient
This commit is contained in:
parent
1f57b5e6b8
commit
4b3f4ce773
|
@ -224,23 +224,81 @@ int Download(char *name)
|
|||
}
|
||||
return 0;
|
||||
}
|
||||
int Upload(char* name)
|
||||
{
|
||||
int data_fd = socket(AF_INET, SOCK_STREAM, 0);
|
||||
int len = 5000;
|
||||
char* buf = malloc(len);
|
||||
printf("uploading file %s\r\n", name);
|
||||
int ret;
|
||||
uint8_t addr[4];
|
||||
int port;
|
||||
ret = EnterPasv(addr, &port);
|
||||
if (ret == -1) {
|
||||
closesocket(data_fd);
|
||||
return -1;
|
||||
}
|
||||
tcp_sock.sin_family = AF_INET;
|
||||
tcp_sock.sin_port = htons(port);
|
||||
tcp_sock.sin_addr.s_addr = PP_HTONL(LWIP_MAKEU32(addr[0],addr[1],addr[2],addr[3]));
|
||||
memset(&(tcp_sock.sin_zero), 0, sizeof(tcp_sock.sin_zero));
|
||||
ret = connect(data_fd, (struct sockaddr*)&tcp_sock, sizeof(struct sockaddr));
|
||||
if(ret == -1){
|
||||
printf("fail to connect data port\r\n");
|
||||
return -1;
|
||||
}
|
||||
sprintf(sendBuffer, "STOR %s\r\n", name);
|
||||
ret = SendCommand(sendBuffer);
|
||||
if(ret == -1){
|
||||
closesocket(data_fd);
|
||||
return -1;
|
||||
}
|
||||
ret = RecvRespond(recvBuffer,1024);
|
||||
if(ret!=150){
|
||||
closesocket(data_fd);
|
||||
return -1;
|
||||
}
|
||||
|
||||
FILE* file = fopen(name, "r");
|
||||
if (file == NULL) {
|
||||
printf("failed to open file\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
int size = fread(buf, 1, sizeof(buf), file);
|
||||
if (size == -1) {
|
||||
printf("failed to read data\n");
|
||||
return -1;
|
||||
}
|
||||
fclose(file);
|
||||
ret = send(data_fd, buf, len);
|
||||
closesocket(data_fd);
|
||||
|
||||
ret = RecvRespond(recvBuffer, 1024);
|
||||
if (ret != 226) {
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
|
||||
}
|
||||
int TestFtp()
|
||||
{
|
||||
lwip_config_tcp(0, tcp_demo_ipaddr, tcp_demo_netmask, tcp_demo_gwaddr);
|
||||
cmd_fd = socket(AF_INET, SOCK_STREAM, 0);
|
||||
uint8_t ip[4] = { 192,168,130,70 };
|
||||
Login(ip,21,"frank","114514");
|
||||
Download("File0.txt");
|
||||
Download("File1.txt");
|
||||
Download("File2.txt");
|
||||
Download("File3.txt");
|
||||
Download("File4.txt");
|
||||
Download("File5.txt");
|
||||
Download("File6.txt");
|
||||
Download("File7.txt");
|
||||
Download("File8.txt");
|
||||
Download("File9.txt");
|
||||
Login(ip, 21, "frank", "114514");
|
||||
|
||||
Upload("File0.txt");
|
||||
// Download("File0.txt");
|
||||
// Download("File1.txt");
|
||||
// Download("File2.txt");
|
||||
// Download("File3.txt");
|
||||
// Download("File4.txt");
|
||||
// Download("File5.txt");
|
||||
// Download("File6.txt");
|
||||
// Download("File7.txt");
|
||||
// Download("File8.txt");
|
||||
// Download("File9.txt");
|
||||
|
||||
closesocket(cmd_fd);
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue