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