欢迎来到天天文库
浏览记录
ID:12429059
大小:37.50 KB
页数:0页
时间:2018-07-17
《嵌入式系统及应用综合实验报告格式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、嵌入式系统及应用综合实验报告格式安徽工业大学电气信息学院嵌入式系统及应用综合实验报告Linux系统下TFTP和QT下聊天程序设计姓名:刘洪方学号:109104069专业:工商管理年级:1指导教师:2016年6月30日一、课程设计项目介绍1.项目介绍:TFTP:是一个服务器客户端网络程序,以提供简单文件共享服务器,支持下载,列出文件目录和上传文件功能。QT:是一个简单的服务器客户端聊天程序,以提供简单的数据通信。2、设计目的:TFTP:是为提供一个可以为网络使用者提供文件共享简单的功能的使用。方便网络间文件的访问和使用。QT:是一个支持双方简单聊天功能的程序。两
2、者都帮助我们锻炼理念知识和实践能力。二、总体设计三、详细设计以下是各代码的解释,介绍,原理,流程图:TFTP服务器:#include#include#include#include#include#include#include/*SeeNOTES*/#include#include#include#include#defineN128typedefstructsockaddrSA;ProcessList过程:利用一个循环获得目录中所有的文件,并把文件名发送到客户端,最终把所有文件表发送到客户端。完成此列出文件目录功能voidProcessList{charb
3、uf[N];DIR*mydir;structdirent*myitem;mydir=opendir;while)!=NULL){if==0)
4、
5、==0))continue;strcpy;send;}closedir;return;}ProcessGet过程:首先打开需要下载的客户端发来命令中的文件名文件,然后如果打开成功则向客户端发送Y,客户端准备接收,然后服务器以128为单位读取数据,发送数据,最终把一个文件所有内容发送给客户端。完成下载功能。voidProcessGet{intfd,nbyte;if){fprintf);buf[0]=‘N’;send;re
6、turn;}buf[0]=‘Y’;send;while)>0){send;}close;return;}ProcessPut过程:首先创建客户端发来命令中的文件名文件,然后如果打开成功则向客户端发送Y,客户端准备发送,客户端以128为单位读取数据,发送数据,每发送一段,服务器写入这部分内容,最终把一个文件所有内容发送给服务器。完成上传功能。voidProcessPut{intfd,nbyte;if){}printf;return;}while)>0){write;}close;return;Main过程:首先初始化所有网络参数等待客户端的连接,然后以一个循环来
7、接收客户端发来的命令首字符,并跟据这个来执行对应的操作。intmain{intlistenfd,connfd;charbuf[N];structsockaddr_inserver_addr;//XXX:step1intsocket;if){fprintf);exit;}#ifdef_DEBUG_printf;#endif//XXX:step2intbind;memset);server__family=PF_INET;server__port=htons;server___addr=htonl;if&server_addr,sizeof){perror;exi
8、t;}listen;while{if){perror;break;}return0;}}recv;switch{case‘L’:case‘G’:case‘P’:}close;ProcessList;break;ProcessGet;break;ProcessPut;break;TFTP客户端:TFTP客户端:#include#include#include#include#include#include#include#include#include#defineN128typedefstructsockaddrSA;Printhelp过程:打印所有的操作帮助
9、。voidPrintHelp{printf;printf;printf;printf;printf;return;}ProcessList过程:首先利用配置好的网络参数连接服务器,然后向服务器发送“L”命令,最后利用一个循环接收目录中所有的文件名,并打印文件名,最终把所有文件表发送到客户端。完成此列出文件目录功能voidProcessList{intsockfd,nbyte;charbuf[N];if)printf;gotoERROR_1;}strcpy;send;while)!=0){printf;}ERROR_1:close;}ProcessGet过程:首
10、先利用配置好的网络参数连接服务器,然后
此文档下载收益归作者所有