📄 client2.c
字号:
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include<sys/types.h>
#include<dirent.h>
int main(){
struct sockaddr_in addr_svr;
int sockfd;
char msg[100];
char account[100];
char password[100];
char folderMSG[100];
char folder[100];
char fileMSG[100];
char file[100];
char content[100];
// Set Server Address
memset(&addr_svr, 0, sizeof(addr_svr));
addr_svr.sin_family= AF_INET;
addr_svr.sin_port= htons(80);
addr_svr.sin_addr.s_addr = inet_addr("192.168.0.204");
// Create Client Socket
sockfd = socket(AF_INET, SOCK_STREAM, 0);
if(sockfd == -1) {
printf("Error: socket()\n");
exit(1);
}
// Connect to Server
if(connect(sockfd,(struct sockaddr *)&addr_svr, sizeof(addr_svr)) == -1){
printf("Error: connect()\n");
exit(1);
}
// Write Account to Server
while(strcmp(msg,"ok"))
{
printf("Enter your FTP account.\n");
scanf("%s", account);
write(sockfd, account, 10);
read(sockfd, msg, 10);
if(strcmp(msg,"ok")!=0)
printf("Account doesn't exist!\n");
}
strcpy(msg,"none");
// Write Password to Client
while(strcmp(msg,"ok"))
{
printf("Account Correct!\nEnter your password.\n");
scanf("%s", password);
write(sockfd, password, 10);
read(sockfd, msg, 10);
if(strcmp(msg,"ok")!=0)
printf("Password is wrong!\n");
}
//DIR *dir = opendir("p3/test");
//read(sockfd, folderMSG, 100);
//printf("%s\nWhich folder?\n", folderMSG);
//scanf("%s", folder);
//write(sockfd, folder, 100);
read(sockfd, fileMSG, 100);
//while(1)
//{
printf("%s\nWhich file?\n", fileMSG);
scanf("%s", file);
write(sockfd, file, 100);
FILE *fin = fopen(file, "a");
while(1)
{
read(sockfd, content, 10);
if(strcmp(content,"END")!=0)
fputs(content, fin);
else
break;
}
//}
// Close socket
close(sockfd);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -