update ftpclient
This commit is contained in:
parent
fbf72cc60d
commit
199bbd125c
|
@ -27,7 +27,7 @@ int SendCommand(char *cmd)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
int fd = socket(AF_INET, SOCK_STREAM, 0);
|
int fd = socket(AF_INET, SOCK_STREAM, 0);
|
||||||
ret = send(fd, cmd, (int)strlen(cmd));
|
ret = send(fd, cmd, (int)strlen(cmd),0);
|
||||||
closesocket(fd);
|
closesocket(fd);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -41,7 +41,7 @@ int RecvRespond(char * respond,int len)
|
||||||
len -= -1;
|
len -= -1;
|
||||||
int fd = socket(AF_INET, SOCK_STREAM, 0);
|
int fd = socket(AF_INET, SOCK_STREAM, 0);
|
||||||
for (off = 0;off < len;off += ret) {
|
for (off = 0;off < len;off += ret) {
|
||||||
ret = recv(fd,&respond[off],1);
|
ret = recv(fd,&respond[off],1,0);
|
||||||
if(ret < 0 ){
|
if(ret < 0 ){
|
||||||
printf("recv respond error\r\n");
|
printf("recv respond error\r\n");
|
||||||
closesocket(fd);
|
closesocket(fd);
|
||||||
|
@ -86,7 +86,7 @@ int Login(uint8_t addr[4],int port,char *username,char *password)
|
||||||
tcp_sock.sin_port = htons(port);
|
tcp_sock.sin_port = htons(port);
|
||||||
tcp_sock.sin_addr.s_addr = PP_HTONL(LWIP_MAKEU32(addr[0],addr[1],addr[2],addr[3]));
|
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));
|
memset(&(tcp_sock.sin_zero), 0, sizeof(tcp_sock.sin_zero));
|
||||||
ret = connect(SOCKET_CMD, addr, port);
|
ret = connect(cmd_fd, (struct sockaddr *)&tcp_sock, sizeof(struct sockaddr));
|
||||||
if(ret != 1){
|
if(ret != 1){
|
||||||
printf("connect server failed\r\n");
|
printf("connect server failed\r\n");
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -152,7 +152,6 @@ int GetFileSize(char * name)
|
||||||
int Download(char *name)
|
int Download(char *name)
|
||||||
{
|
{
|
||||||
int fd = socket(AF_INET, SOCK_STREAM, 0);
|
int fd = socket(AF_INET, SOCK_STREAM, 0);
|
||||||
wiz_socket(SOCKET_DATA, Sn_MR_TCP, 12345, 0);
|
|
||||||
int len = GetFileSize(name);
|
int len = GetFileSize(name);
|
||||||
char *buf = malloc(len+1);
|
char *buf = malloc(len+1);
|
||||||
printf("downloading file %s\r\n",name);
|
printf("downloading file %s\r\n",name);
|
||||||
|
@ -166,7 +165,11 @@ int Download(char *name)
|
||||||
closesocket(fd);
|
closesocket(fd);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
ret = wiz_sock_connect(SOCKET_DATA,addr,port);
|
struct sockaddr_in tcp_sock;
|
||||||
|
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]));
|
||||||
|
ret = connect(fd,(struct sockaddr *)&addr,port);
|
||||||
if(ret != 1){
|
if(ret != 1){
|
||||||
closesocket(fd);
|
closesocket(fd);
|
||||||
printf("fail to connect data port\r\n");
|
printf("fail to connect data port\r\n");
|
||||||
|
@ -184,7 +187,7 @@ int Download(char *name)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
for(it = 0;it < len;it += ret){
|
for(it = 0;it < len;it += ret){
|
||||||
ret = wiz_sock_recv(SOCKET_DATA,((char *)buf + it),len);
|
ret = recv(fd,((char *)buf + it),len,0);
|
||||||
if(ret<0){
|
if(ret<0){
|
||||||
printf("download was interupted\r\n");
|
printf("download was interupted\r\n");
|
||||||
break;
|
break;
|
||||||
|
@ -200,8 +203,8 @@ int Download(char *name)
|
||||||
closesocket(fd);
|
closesocket(fd);
|
||||||
|
|
||||||
printf("creating file %s ....\r\n",name);
|
printf("creating file %s ....\r\n",name);
|
||||||
int fd=open(name,O_RDWR | O_CREAT);
|
int file=open(name,O_RDWR | O_CREAT);
|
||||||
if(fd > 0){
|
if(file > 0){
|
||||||
ret = write(fd,buf,strlen(buf));
|
ret = write(fd,buf,strlen(buf));
|
||||||
if(ret < 0 ){
|
if(ret < 0 ){
|
||||||
printf("write failed\r\n");
|
printf("write failed\r\n");
|
||||||
|
|
Loading…
Reference in New Issue