【vc++精品源码栏目提醒】:以下是网学会员为您推荐的vc++精品源码-TCP传输程序_课程设计 - 大学课件,希望本篇文章对您学习有所帮助。
长 春 大 学课 程 设 计 说 明 书 题目名称 TCP 文件传输程序 院(系) 计算机科学技术学院 专业(班级) 学生姓名 指导教师 起止日期 2012-12-292013-1-6 目 录一 课题背景3二 开发环境及相关技术3三 设计流程图3四 核心程序的实现4五 文件运行界面7六 设计总结10七 参考文献10八 附录代码11一、课题背景 在这个信息化时代,计算机网络技术的迅猛发展影响了几乎包括政治、文化、生活、
经济在内的每一个角落,推动了人类社会向信息化社会的逐步转变;同时我们也应该清醒地认识到文件传输的问题是
计算机网络发展过程中的一个不容忽视的
问题。
在如今拥塞的网络上,各种数据在争夺着网络资源,如何使传输的文件更加可靠的到达目的地,同时如何友好的解决文件分类分组高效传输等问题都是需要有待提高和完善的地方。
其中以 TCP 快捷的优点赢得好多人的称赞。
二、开发环境及相关技术 2.1 开发环境 VisualC6.0 简介 Visual C 6.0,简称 VC 或者 VC6.0,是微软推出的一款 C编译器,将“高级语言”翻译为机器语言(低级语言)”的程序。
Visual C是一个功能强大的可视化软件开发工具。
自 1993 年 Microsoft 公司推出 Visual C1.0 后,随着其新版本的不断问世,Visual C已成为专业程序员进行
软件开发的首选工具。
虽然微软公司推出了 Visual C.NETVisual C7.0,但它的应用有很大的局限性,只适用于 Windows 2000、Windows XP 和 Windows NT4.0。
所以实际中,更多的是以 Visual C6.0 为平台。
2.2 基于 VC 的 socket 网络编程原理 套接字 socket 是一种
网络编程接口,实际就是一个通信端点,提供的发送和接收数据的机制。
套接字最基本的分为两类:流套接字和数据报套接字。
流套接字:顺序的、无重复的、面向连接的可靠双向传输机制,主要用于 TCP 通信程序;数据报套接字:无连接的,不保证顺序、无重复、可靠的双向传输,主要用于 UDP的通信
程序。
2.3TCP 协议简介三、设计流程图 本设计基本设计图如下: 控制字传输 客户端 服务器 数据传输基本
设计流程图:四、核心程序的实现server 接收 TCP 连接的处理过程:函数名称 : AcceptProcessvoid CServerModel::AcceptProcess SOCKADDR_IN _sin int _size sizeofSOCKADDR_IN if _connectedSock accept_localSock sockaddr _sin_size SOCKET_ERROR Sleep1 else _strRemoteAddr inet_ntoa_sin.sin_addr//保存远机地址 _state CONNECTED //改变模型状态 ::SendMessagem_hWnd CONNECT_SUCCESS 0 0 BeginMessageThread //开启消息监听线程 client 函数功能连接服务器:void CClientModel::ConnectProcess SOCKADDR_IN _sin _sin.sin_family AF_I
NET _sin.sin_port htons_port _sin.sin_addr.s_addr inet_addr_strRemoteAddr//inet_addr_strAddress if connect_connectedSock SOCKADDR _sinsizeofSOCKADDR_IN SOCKET_ERROR AfxMessageBox连接失败! else _state CONNECTED ::SendMessagem_hWnd CONNECT_SUCCESS 0 0 BeginMessageThread client 接收文件信息,确认成功返回 TRUE 否则返回 FALSE:int CClientModel::TransferFileInfo Message _msg memset_msg 0 sizeofMessage _msg._messageFromClient._message RECV_FILE_INFO_ACK _msg._messageFromClient._offset _offset //发送文件的断点续传位置信息 if Send_msg SOCKET_ERROR return FALSE else if _offset _fileInfo._fileSize TransferOver else _state TRANSFERRING//发送确认信息之后切换状态 return TRUE 五、文件运行界面服务器 server 初始化界面如图 5.1 所示: 图 5.1客户端 client 初始化界面如图 5.2 所示: 图 5.2建立连接时状态如图 5.3 所示: 图 5.3传输中 server 的状态如图 5.4 所示: 图 5.4服务器 server 文件传输完成后状态如图 5.5 所示: 图 5.5任务结束后断开连接时如图 5.6 所示: 图 5.6六、设计总结 通过本次实验设计,熟悉了套接字 Socket、ServerSocket 的编程接口功能 和使用了解文件传输的相应协议,多线程的使用和协作,初步掌握 TCP/IP 网 络应用程序基本的设计方法和实现技巧。
了解了 SOCKET 编程相关的一些知识 以及用法,了解了客户端和服务器端进行
通信的相关算法机制,在建立通信的 基础上,实现了一些简单的功能。
限于自己的能力,对 SOCKET 编程理解还不 够透彻,对网络通信也只局限这么多,还有待进一步的
学习和实践以达到对网 络的通信机制更深层次的理解。
七、参考文献1 方敏. 网络应用程序设计M. 陕西西安:西安电子科技大学出版社 20052 赵强. 基于 FTP 协议的文件传输服务器的研究. 大连海事大学硕士学位论文 20083 宋坤刘锐宁. Visual C视频技术
方案宝典. 北京:人民邮电出版