linux网络编程课程设计_计算机-linux-Unix相关.pdf
《linux网络编程课程设计_计算机-linux-Unix相关.pdf》由会员分享,可在线阅读,更多相关《linux网络编程课程设计_计算机-linux-Unix相关.pdf(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Linux 网络编程 课程设计 班级:姓名:指导老师:欢迎下载 2 一、设计背景 Linux 操作系统作为一个开源的操作系统被越来越多的人所应用,它的好处在于操作系统源代码的公开化!只要是基于 GNU 公约的软件你都可以任意使用并修改它的源代码。通过这次课程设计能更好的学习网络编程知识和掌握 LINUX平台上应用程序设计开发的过程,将大学四年所学知识综合运用,为未来的工作学习打下基础。二、设计目的 1、学习 epoll 跟 FTP被动模式 2、掌握 linux 基本命令,例如 ls、cd、login;3、学会如何编译、运行 三、环境要求 1、centos 64 位操作系统 2、gcc 编译器
2、四、设计原理 41 客户端 客户端程序的主要任务有以下 3 个:(1)、分析用户输入的命令。(2)、根据命令向服务器发出请求 (3)、接受服务器返回请求的结果 客户端为用户提供了 3 种命令:(1)、get:从服务器下载文件 (2)、list:列出客户端当前目录的内容(3)、quit 离开 4.2 服务器端(1)、分析请求代码。(2)、根据请求代码做相应的处理 (3)、等待返回结果或者应答信息 处在于操作系统源代码的公开化只要是基于公约的软件你都可以任意使用并修改它的源代码通过这次课程设计能更好的学习网络编程知识和掌握平台上应用程序设计开发的过程将大学四年所学知识综合运用为未来的工作学习打下基
3、端客户端程序的主要任务有以下个分析用户入的命令根据命令向服务器发出请求接受服务器返回请求的结果客户端为用户提供了种命令从服务器下载文件列出客户端当前目录的内容离开服务器端分析请求代码根据请求代码做相应的下载欢迎下载欢迎下载欢迎下载欢迎下载欢迎下载七设计总结通过本次的程序与设计课程设计让我们学会使用系统和极大的丰富了系统下编程和网络方面的知识锻炼了动手能力为以后的工作学习打下了坚实的基础欢迎下载 欢迎下载 3 五、软件测试结果 处在于操作系统源代码的公开化只要是基于公约的软件你都可以任意使用并修改它的源代码通过这次课程设计能更好的学习网络编程知识和掌握平台上应用程序设计开发的过程将大学四年所学知
4、识综合运用为未来的工作学习打下基端客户端程序的主要任务有以下个分析用户入的命令根据命令向服务器发出请求接受服务器返回请求的结果客户端为用户提供了种命令从服务器下载文件列出客户端当前目录的内容离开服务器端分析请求代码根据请求代码做相应的下载欢迎下载欢迎下载欢迎下载欢迎下载欢迎下载七设计总结通过本次的程序与设计课程设计让我们学会使用系统和极大的丰富了系统下编程和网络方面的知识锻炼了动手能力为以后的工作学习打下了坚实的基础欢迎下载 欢迎下载 4 处在于操作系统源代码的公开化只要是基于公约的软件你都可以任意使用并修改它的源代码通过这次课程设计能更好的学习网络编程知识和掌握平台上应用程序设计开发的过程将
5、大学四年所学知识综合运用为未来的工作学习打下基端客户端程序的主要任务有以下个分析用户入的命令根据命令向服务器发出请求接受服务器返回请求的结果客户端为用户提供了种命令从服务器下载文件列出客户端当前目录的内容离开服务器端分析请求代码根据请求代码做相应的下载欢迎下载欢迎下载欢迎下载欢迎下载欢迎下载七设计总结通过本次的程序与设计课程设计让我们学会使用系统和极大的丰富了系统下编程和网络方面的知识锻炼了动手能力为以后的工作学习打下了坚实的基础欢迎下载 欢迎下载 5 六、部分主代码#include ftserve.h int main(int argc,char*argv)int sock_listen,s
6、ock_control,port,pid;if(argc!=2)printf(usage:./ftserve portn);exit(0);port=atoi(argv1);/create socket if(sock_listen=socket_create(port)0)perror(Error creating socket);exit(1);while(1)/wait for client request 处在于操作系统源代码的公开化只要是基于公约的软件你都可以任意使用并修改它的源代码通过这次课程设计能更好的学习网络编程知识和掌握平台上应用程序设计开发的过程将大学四年所学知识综合运用为
7、未来的工作学习打下基端客户端程序的主要任务有以下个分析用户入的命令根据命令向服务器发出请求接受服务器返回请求的结果客户端为用户提供了种命令从服务器下载文件列出客户端当前目录的内容离开服务器端分析请求代码根据请求代码做相应的下载欢迎下载欢迎下载欢迎下载欢迎下载欢迎下载七设计总结通过本次的程序与设计课程设计让我们学会使用系统和极大的丰富了系统下编程和网络方面的知识锻炼了动手能力为以后的工作学习打下了坚实的基础欢迎下载 欢迎下载 6 /create new socket for control connection if(sock_control=socket_accept(sock_listen)
8、0)break;/create child process to do actual file transfer if(pid=fork()0)perror(Error forking child process);else if(pid=0)close(sock_listen);ftserve_process(sock_control);close(sock_control);exit(0);close(sock_control);close(sock_listen);return 0;/*Send file specified in filename over data connectio
9、n,sending *control message over control connection *Handles case of null or invalid filename */void ftserve_retr(int sock_control,int sock_data,char*filename)FILE*fd=NULL;char dataMAXSIZE;size_t num_read;fd=fopen(filename,r);if(!fd)/send error code(550 Requested action not taken)send_response(sock_c
10、ontrol,550);else /send okay(150 File status okay)处在于操作系统源代码的公开化只要是基于公约的软件你都可以任意使用并修改它的源代码通过这次课程设计能更好的学习网络编程知识和掌握平台上应用程序设计开发的过程将大学四年所学知识综合运用为未来的工作学习打下基端客户端程序的主要任务有以下个分析用户入的命令根据命令向服务器发出请求接受服务器返回请求的结果客户端为用户提供了种命令从服务器下载文件列出客户端当前目录的内容离开服务器端分析请求代码根据请求代码做相应的下载欢迎下载欢迎下载欢迎下载欢迎下载欢迎下载七设计总结通过本次的程序与设计课程设计让我们学会使用系
11、统和极大的丰富了系统下编程和网络方面的知识锻炼了动手能力为以后的工作学习打下了坚实的基础欢迎下载 欢迎下载 7 send_response(sock_control,150);do num_read=fread(data,1,MAXSIZE,fd);if(num_read 0)printf(error in fread()n);/send block if(send(sock_data,data,num_read,0)0);/send message:226:closing conn,file transfer successful send_response(sock_control,226
12、);fclose(fd);/*Send list of files in current directory *over data connection *Return-1 on error,0 on success */int ftserve_list(int sock_data,int sock_control)char dataMAXSIZE;size_t num_read;FILE*fd;int rs=system(ls-l|tail-n+2 tmp.txt);if(rs 0)if(send(sock_data,data,num_read,0)0)perror(err);memset(
13、data,0,MAXSIZE);fclose(fd);send_response(sock_control,226);/send 226 return 0;/*Open data connection to client *Returns:socket for data connection *or-1 on error */int ftserve_start_data_conn(int sock_control)char buf1024;int wait,sock_data;/Wait for go-ahead on control conn if(recv(sock_control,&wa
14、it,sizeof wait,0)0)perror(Error while waiting);return-1;处在于操作系统源代码的公开化只要是基于公约的软件你都可以任意使用并修改它的源代码通过这次课程设计能更好的学习网络编程知识和掌握平台上应用程序设计开发的过程将大学四年所学知识综合运用为未来的工作学习打下基端客户端程序的主要任务有以下个分析用户入的命令根据命令向服务器发出请求接受服务器返回请求的结果客户端为用户提供了种命令从服务器下载文件列出客户端当前目录的内容离开服务器端分析请求代码根据请求代码做相应的下载欢迎下载欢迎下载欢迎下载欢迎下载欢迎下载七设计总结通过本次的程序与设计课程设计让
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 网络 编程 课程设计 计算机 Unix 相关
限制150内