資源簡介
21987909FTP.rar

代碼片段和文件信息
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?“ftp.h“
#define?FTP_SERVER_PORT?21
#define?MAX_INFO?1024
#define?DIR_INFO?100
#define?MSG_INFO?100
#define?SRV_INFO?100
#define?LISTEN_QENU?5
char default_user[]?=?“root“;
char default_pass[]?=?“1234“;
char anony_user[]=“anonymous“;
char anony_pass[]=“anonymous“;
int countcurr?=?0;
int countall?=?0;
//int reco?=?0;
//char?*username;
int??ftp_server_sock;
int??ftp_data_sock;
char?client_Control_Info[MAX_INFO];
char?client_Data_Info[MAX_INFO];
char?format_client_Info[MAX_INFO];
int?translate_data_mode=FILE_TRANS_MODE_ASIC;
void?*Handle_Client_Request(void*?arg);
void?*Handle_Server_Cmd(void*?arg);
struct?ARG{
int?client_sock;
struct?sockaddr_in?client;
};
void?do_client_work(int?client_sockstruct?sockaddr_in?client);
int?login(int?client_sock);
void?handle_cwd(int?client_sock);
void?handle_list(int?client_sock);
void?handle_pasv(int?client_sockstruct?sockaddr_in?client);
void?handle_file(int?client_sock);
void?handle_del(int?client_sock);
void?handle_mkd(int?client_sock);
void?handle_rmd(int?client_sock);
struct?sockaddr_in?create_date_sock();
void?send_client_info(int?client_sockchar*?infoint?length);
int?recv_client_info(int?client_sock);
int?main(int?argcchar?*argv[])
{
//pid_t? child_pid;
pthread_t?threadsrv_thread;
struct?ARG?arg;
struct?sockaddr_in?server;
if((ftp_server_sock=socket(AF_INETSOCK_STREAM0))==-1)
{
perror(“Createing?socket?failed“);
exit(1);
}
int?opt=SO_REUSEADDR;
setsockopt(ftp_server_sockSOL_SOCKETSO_REUSEADDR&optsizeof(opt));
bzero(&serversizeof(server));
server.sin_family=AF_INET;
server.sin_port=htons(FTP_SERVER_PORT);
server.sin_addr.s_addr=htonl(INADDR_ANY);
if(bind(ftp_server_sock(struct?sockaddr?*)&serversizeof(struct?sockaddr))==-1)
{
perror(“Bind?error“);
exit(1);
}
if(listen(ftp_server_sockLISTEN_QENU)==-1)
{
perror(“listen?error“);
exit(1);
}
int?ftp_client_sock;
struct?sockaddr_in?client;
int?sin_size=sizeof(struct?sockaddr_in);
if(pthread_create(&srv_threadNULLHandle_Server_Cmd(void*)&arg))
printf(“thread?create?error!\n“);
while(1)
{
printf(“ftp_server>?“);
if((ftp_client_sock=accept(ftp_server_sock(struct?sockaddr?*)&client&sin_size))==-1)
{
perror(“accept?error!\n“);
exit(1);
}
arg.client_sock=ftp_client_sock;
memcpy((void*)&arg.client&clientsizeof(client));
if(pthread_create(&threadNULLHandle_Client_Request(void*)&arg))
{
perror(“thread?create?error!\n“);
exit(1);
}
}
close(ftp_server_sock);
}
void?send_client_info(int?client_sockchar*?infoint?length)
{
???int?len;
if((len?=?send(client_sock?info?length0))<0)
{
perror(“send?info?error?“);
return;
}
}
int?recv_client_info(int?client_sock)
{
??? int?num;
if((num
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1149??2010-01-12?13:45??FTP\FTP\ftp.h
?????文件??????24530??2010-01-27?21:04??FTP\FTP\ftpserver
?????文件??????26378??2010-01-27?10:59??FTP\FTP\ftpserver.c
?????文件????????147??2010-01-27?13:32??FTP\FTP\makefile
?????文件??????27871??2010-01-27?21:04??FTP\FTP\myftp
?????文件??????31156??2010-01-27?13:51??FTP\FTP\myftp.c
?????文件??????89088??2010-01-24?20:30??FTP\FTP流程.vsd
?????文件????1551837??2010-04-10?15:55??FTP\Linux大作業實驗報告.docx
?????文件????????704??2010-04-10?15:52??FTP\readme.txt
?????文件??????56257??2010-01-27?15:34??FTP\截圖\cli0.png
?????文件??????81530??2010-01-27?15:33??FTP\截圖\cli1.png
?????文件??????11104??2010-01-27?17:05??FTP\截圖\cli10.png
?????文件???????7045??2010-01-27?17:06??FTP\截圖\cli11.png
?????文件??????10674??2010-01-27?20:13??FTP\截圖\cli12.png
?????文件??????60503??2010-01-27?22:18??FTP\截圖\cli13.png
?????文件??????58551??2010-01-27?22:18??FTP\截圖\cli14.png
?????文件??????70782??2010-01-27?15:34??FTP\截圖\cli2.png
?????文件??????14449??2010-01-27?15:39??FTP\截圖\cli3.png
?????文件??????51870??2010-01-27?16:10??FTP\截圖\cli4.png
?????文件??????21460??2010-01-27?19:43??FTP\截圖\cli6.png
?????文件??????21802??2010-01-27?19:42??FTP\截圖\cli7.png
?????文件??????65192??2010-01-27?17:04??FTP\截圖\cli8.png
?????文件??????80672??2010-01-27?17:04??FTP\截圖\cli9.png
?????文件??????59438??2010-01-27?15:33??FTP\截圖\cli_0.png
?????文件??????52683??2010-01-27?15:33??FTP\截圖\cli_1.png
?????文件??????39835??2010-01-27?18:07??FTP\截圖\srv0.png
?????文件??????45938??2010-01-27?17:10??FTP\截圖\srv1.png
?????文件??????37168??2010-01-27?17:49??FTP\截圖\srv10.png
?????文件??????21898??2010-01-27?17:49??FTP\截圖\srv11.png
?????文件??????61664??2010-01-27?17:50??FTP\截圖\srv12.png
............此處省略16個文件信息
評論
共有 條評論