网路编程技术课程设计-局域网文件传输系统

网路编程技术课程设计-局域网文件传输系统

ID:8325617

大小:167.00 KB

页数:15页

时间:2018-03-19

网路编程技术课程设计-局域网文件传输系统_第1页
网路编程技术课程设计-局域网文件传输系统_第2页
网路编程技术课程设计-局域网文件传输系统_第3页
网路编程技术课程设计-局域网文件传输系统_第4页
网路编程技术课程设计-局域网文件传输系统_第5页
资源描述:

《网路编程技术课程设计-局域网文件传输系统》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、河北科技大学课程设计报告学生姓名:学号:专业班级:网络081课程名称:网络编程技术学年学期:2010—2011学年第2学期指导教师:2011年6月-1-课程设计成绩评定表学生姓名学号成绩专业班级网络081起止时间2011.6.6-2011.6.12设计题目局域网文件传输系统指导教师评语指导教师:年月日目录1.设计题目12.设计目的13.设计要求14.程序设计过程14.1设计分析14.2程序流程图25.程序源代码25.1获取在线用户名及IP25.2发送文件及接收文件45.3刷新列表65.4输及退出66.运行调试76.1文件传输运行主界面窗口76.2发送文件及接收文件界面86

2、.3中止文件传输界面106.4刷新列表界面117.总结117.1主要问题117.2收获心得...12-12-1.设计题目局域网文件传输系统2.设计目的1.基本掌握设计课题的基本步骤和方法;2.掌握可视化开发具体的使用;3.根据课题的要求进行上机调试;4.掌握面相对象编程的基本思路和方法;5.掌握socket的建立、监听、连接和数据收发编程实现。3.设计要求1.实现局域网内多台计算机间的文件传送,达到共享的目的;2.程序能够动态的监听在线用户,并自动获得机器名及相应IP;3.能够随时终止文件的传输;4.双方可知道对方的状态,以及文件的接受率,传输率及文件大小的情况,可随时中止和退

3、出接受。4.程序设计过程4.1设计分析本系统的开发采用基于winsocket的广播发送模式,在局域网内进行全网广播,以得到在线用户的主机名和相应的IP。根据FTP协议的特点采用TCP链路进行传输控制,UDP组播进行数据传输的方式,实现文件的传输。设计为了方便,可以设计出FMV类图形用户界面,并添加相应的相应按钮。-12-4.2程序流程图图1程序流程图5.程序源代码5.1获取在线用户名及IPvoidCFiletransDlg::BroadCastSend(){//发请求返回在线确认消息,以获得在线用户信息。-12-sockaddr_inaddrTo;addrTo.sin_addr

4、.S_un.S_addr=htonl(INADDR_BROADCAST);addrTo.sin_family=AF_INET;addrTo.sin_port=htons(RECVPORT);//获取主机名charphost[200];chartemp[400];memset(phost,0,200);memset(temp,0,400);if(0==gethostname(phost,200));elsestrcpy(phost,"Yang");strcpy(temp,"tttt");//指定报头为请求返回在线确认消息。strcat(temp,phost);//向本子网

5、内请求返回在线确认消息。interr=sendto(m_sockSend,temp,strlen(temp)+1,0,(sockaddr*)&addrTo,sizeof(sockaddr));if(SOCKET_ERROR==err){//MessageBox("广播发送数据失败。");return;}err=sendto(m_sockSend,temp,strlen(temp)+1,0,(sockaddr*)&addrTo,sizeof(sockaddr));if(SOCKET_ERROR==err){-12-//MessageBox("广播发送数据失败。");return;

6、}}5.2发送文件及接收文件//发送文件voidCFiletransDlg::OnSendFile(){//TODO:AddyourcontrolnotificationhandlercodehereCStringip;if(!GetIPAddr(ip)){return;}intmodal,nCount;//modal表示返回对话框的结果CStringfileName;//文件的名字CFileDialogfdlg(true);//打开文件对话框modal=fdlg.DoModal();if(IDCANCEL==modal){return;//用户取消发送。}SENDFILEPA

7、RAM*p=newSENDFILEPARAM;fileName=fdlg.GetFileName();p->pathName=fdlg.GetPathName();nCount=fileName.GetLength();memset(p->fileName,0,NAMELENGTH);for(inti=0;ifileName[i]=fileName.GetAt(i);}p->pCLAN=this;p->ip=ip;::AfxBeginThread(SendFi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。