From f5589fbaa4bca6b6956a57f518cd955a582d558b Mon Sep 17 00:00:00 2001 From: ambrumf <421653227@qq.com> Date: Fri, 13 Oct 2023 12:57:17 +0800 Subject: [PATCH] update ftpserver --- .../app_test/test_ftpclient_final/ftpserver.c | 264 +++++++++++++----- 1 file changed, 198 insertions(+), 66 deletions(-) diff --git a/APP_Framework/Applications/app_test/test_ftpclient_final/ftpserver.c b/APP_Framework/Applications/app_test/test_ftpclient_final/ftpserver.c index 743458666..4efc7b092 100644 --- a/APP_Framework/Applications/app_test/test_ftpclient_final/ftpserver.c +++ b/APP_Framework/Applications/app_test/test_ftpclient_final/ftpserver.c @@ -25,13 +25,18 @@ #include #include #include +#include +#include -#define CMD_PORT 9970 +#define CMD_PORT 9971 #define BACKLOG_LEN 128 #define MAX_USERS 100 #define MAX_CONNECTION 100 #define UNLOGED_IN 0 #define LOGED_IN 1 + +int off = 0; +int fd_map[200]; struct User { char username[50]; char password[50]; @@ -41,34 +46,82 @@ struct LoginStatus { char *addr; char username[50]; char password[50]; - int login_status;//登录状态,0代表未登录 1代表已登录 + int login_status; }; struct User users[MAX_USERS]; struct LoginStatus login_list[MAX_CONNECTION]; -void GetFullAddress(char *client_id, char *client_ip, int client_port) { + +void StartNewConnection(int data_fd,struct sockaddr_in client_addr); + +void GetFullAddress(char* client_id, char* client_ip, int client_port) { memset(client_id, 0, sizeof(client_id)); sprintf(client_id, "%s:%d", client_ip, client_port); } -int CheckPassword(int it){ - for(int i=0;i