level9 阶段测试题
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
通过分析现象来推导代码的实现: fengjunhui@ubuntu:~/homework/ftpserver$ ls client.c Makefile server.c fengjunhui@ubuntu:~/homework/ftpserver$ make gcc -g -c server.c -o server.o gcc server.o -o server gcc -g -c client.c -o client.o gcc client.o -o client fengjunhui@ubuntu:~/homework/ftpserver$ ls client client.c client.o Makefile server server.c server.o (*.o文件可以删掉) fengjunhui@ubuntu:~/homework/ftpserver$ mkdir feng fengjunhui@ubuntu:~/homework/ftpserver$ mv client feng/ fengjunhui@ubuntu:~/homework/ftpserver/feng$ ls client 服务器端等待链接请求: fengjunhui@ubuntu:~/homework/ftpserver$ ./server 192.168.1.200 9999 server sockfd :3 客户端登录 fengjunhui@ubuntu:~/homework/ftpserver/feng$ ./client 192.168.1.200 9999 ************************** ***请输入 help 查看选项*** ************************** input your choice: >>> input your choice: >>> help ***************************************************** ********输入/功能************************************* ********list :查看服务器所在目录的所有文件************ ********get filename 下载服务器目录的文件************ ********put filename: 上传文件到服务器**************** ********quit :关闭客户端 ***************************** ****************************************************** 功能1----------------查看服务器端的文件列表信息 input your choice: >>> list ***Makefile ***server ***server.c ....... 服务器目录已经接收完毕 服务器应答 目录清单已经成功发送 功能2 --------------从服务器段下载文件到客户端 input your choice: >>> get server.c 下载完毕 ls 客户端所在目录可以看到server.c的文件 服务器提示: 文件传送完成 功能3 ------------向服务器端上传文件 input your choice: >>> put hello.c(自己定义一个文件,输出hello world就行) 上传完毕 服务器提示: 接收文件成功 client client.c client.o Makefile server server.c server.o hello.c 功能4--------------客户端退出,服务器继续等待链接 input your choice: >>> quit 服务器端打印客户端退出 要求: 实现多客户端的并发 上传或下载的某个功能要采用多进程或多线程的方式实现 每个客户端访问的日期信息要显示在服务器上 要求独立实现,不要问老师,实在不会的也不要问老师,自己尽可能的逼着自己独立去实现, 独立去调试,可以参考level7部分在线词典的项目,但是一定要自己吃透。 项目提交内容: 1、要求使用makefile编译 2、将你测试执行的结果写到readme当中,如果实在调不通的话,将你当前阶段遇到的问题写到readme当中, 3、中间阶段不会的先通过man来查找函数,不要上来就是翻笔记和视频 4、要求自己独立设计框架,框架作为单独的内容提交上来 5、要求自己制定通信协议,将协议的每一个具体细节和作用注释出来 6、要求尽可能把把level4-5-6-7和level1-2-3尽可能的结合起来去完成整个的作业 7、要求提交可调试的代码上来,不要留言说我不会 7、预祝大家成功的搞定这个小项目,预祝大家有质的提升 注意: 这道题不提供参考答案!!! 本文来源:https://www.wddqw.com/doc/a21e7b8729160b4e767f5acfa1c7aa00b42a9d5d.html