




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
小型FTP服务系统的设计。,FTP服务器程序,其加强的文件传输系统能够完全满足今天的用户的应用需求。本行上传和文件的相关服务FTP客户端给普通用户提供了一个与服务端进行通信的包含用户登录,用户注销,权限的管理以及文件的管理和文件传输的管理。,FTP客户端给普通用户提供了一个与服务端进行通信的操作界面,普通用户可以在权限的管理以及文件的管理和文件传输的管理。openputgetdele3.详细设函数get_user()和get_pass()得到用户输入的用户名和。ftp_login()函数用输入字符与缺省用户名、用户相比较,如果一致则登陆成功,否则失败。voidget_user()//{charprintf("User(Pressforanonymous):");fgets(read_buf,sizeof(read_buf),stdin);strncpy(user,"anonymous",9);strncpy(user,read_buf,strlen(read_buf)-}voidget_pass()//得到输入{charprintf("Password(Pressforanonymous):echo_off();//隐藏fgets(read_buf,sizeof(read_buf),stdin);strncpy(passwd,"anonymous",9);strncpy(passwd,read_buf,strlen(read_buf)-1);}intftp_login()//{int}}if(ftp_send_cmd("USER",user,sock_control)<0)cmd_err_exit("Cannotsendmessage",1);;errftp_get_reply(sock_control);//得到服务器返回if(err==331){if(ftp_send_cmd("PASS",passwd,sock_control)<=0)cmd_err_exit("Cannotsendmessage",1);errftp_get_reply(sock_control);if(err==230)//缺省用户{return}elseif(err==531)//用{return}{printf("Passworderror!\n");return0;}}{printf("Usererror!\n");return0;}intxconnect(structsockaddr_in*s_addrinttype)连接到服务器。intxconnect(structsockaddr_in*s_addr,inttype){structtimevalouttime;intset;ints=socket(AF_INET,SOCK_STREAM,0);if(s<0)cmd_err_exit("creatsocketerror!",set=setsockopt(s,SOL_SOCKET,SO_RCVTIMEO,&outtime,sizeof(outtime));if(set!=0){printf("setsocket%serrno:%d\n",strerror(errno),errno);cmd_err_exit("setsocket",1);}//connecttotheif(connect(s,(structsockaddr*)s_addr,sizeof(structsockaddr_in))<{printf("Can'tconnecttoserver%s,port%d\n",\}return}fgets(read_buf,sizeof(read_buf),stdin);ints=socket(AF_INET,SOCK_STREAM,0);if(s<0)cmd_err_exit("creatsocketerror!",创建套接字,如创建成功,socket函数返回非负值}}//connecttotheif(connect(s,(structsockaddr*)s_addr,sizeof(structsockaddr_in))<{printf("Can'tconnecttoserver%s,port%d\n",\}连接到服务器,如果连接成功,connect0,如果不成功,返回-1。intftp_send_cmd(constchar*s1,constchar*s2,intsock_fd)向服务器发送客户端令的函数intftp_send_cmd(constchar*s1,constchar*s2,int{charsend_buf[256];intsend_err,len;{{strcat(send_buf,s2);len=strlen(send_buf);send_err=send(sock_fd,send_buf,len,}{len=strlen(send_buf);send_err=send(sock_fd,send_buf,len,}if(send_err<0)printf("send()error!\n");return}//gettheserver'sreplymessagefromsock_fdintftp_get_reply(intsock_fd){staticintreply_code=0,count=0;charrcv_buf[512];count=read(sock_fd,rcv_buf,510);if(count>reply_code=atoi(rcv_buf);return0;{if(count<=0)count=read(sock_fd,rcv_buf,510);}return}send_err=send(sock_fd,send_buf,len,0);send00intxconnect_ftpdata()get_sock=socket(AF_INET,SOCK_STREAM,set=setsockopt(get_sock,SOL_SOCKET,SO_RCVTIMEO,set=setsockopt(get_sock,SOL_SOCKET,SO_REUSEADDR,set=bind(get_sock,(structsockaddr*)&local_host,if(set!=0&&errno==11){_port=rand_local_port();}set=listen(get_sock,bind、listenvoidopen_ftpsrv(){charusr_cmd[1024];intcmd_flag;{if(usr_cmd[0]=='\n')usr_cmd[strlen(usr_cmd)-1]='\0';cmd_flag=ftp_usr_cmd(usr_cmd);if(cmd_flag==15){char*cmd=strchr(usr_cmd,'');chardress_ftp[1024];if(cmd=={printf("commanderror!\n");}{while(*cmd=='')}if(cmd==NULL||cmd=={printf("commanderror!\n");}{char*dr="";dress_ftp[strlen(cmd)]='\0';if(dress_ftp==""){printf("ConnectSeccessed!\n");/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 计算机组成原理 课件 8 输入输出系统
- XXXX年选人用人专项整治党性分析报告范文
- 巡察组写巡察报告课件
- 输电线路运行培训课件
- 尾矿作业安全培训教程课件
- 国际知识产权贸易合同创新成果转化与许可使用
- 生态旅游区土石方运输与景观建设合同
- 风力发电场工程项目建议书编制与环境影响评价规范
- 专项项目出差人员管理服务合同
- 离婚子女抚养权争夺人民法院协议调解合同
- 做有梦想的少年+课件-2025-2026学年统编版道德与法治七年级上册
- 医院2025年院感防控及传染病考核试题及答案
- 老乡贷贷款管理办法
- 2025年食安员、食品安全总监、主要负责人考试题及答案
- 初中音乐新教材培训讲座
- 新《高等教育学》考试复习题库450题(含各题型)
- 颈脊髓损伤患者护理查房PPT
- 小学数学 北师大版 六年级上册 第二单元第1课时《分数混合运算(一)》 课件
- 《冷冲压工艺与模具设计》完整版ppt课件全套教程
- 浙大中控DCS图形化编程(“模块”)共248张课件
- 自采商品管理流程
评论
0/150
提交评论