logo资料库

socket网络编程大作业.doc

第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
资料共13页,剩余部分请下载后查看
1文档概述
1.1文档目的和范围
1.2术语/缩略语
1.3参考文档
2系统概述
2.1项目说明
2.2需求分析
2.3可行性或难点分析
3通信协议设计
3.1通信流程
3.2会话举例
4系统设计说明
4.1模块整体结构图
4.2使用说明书
5模块详细说明
5.1核心通信模块
6结论
6.1自我评价或总结
6.2需要进一步学习的内容
6.3系统扩展计划
网络编程技术 网络编程技术 大作业大作业 项目开 发人 项目名 称 杨腾飞 开发人 班级 2010-2 开发人 学号 2010082225 MFC 实现局域网内点对点的文件传输 开发人专 软件工 业 成绩 程 (70%)
网络编程技术大作业 版本:0.1.0 第 2页 修 改 履 历 修改编号 日期 1 2 3 2013.5.24 2013.5.25 2013.5.26 修改人 杨腾飞 杨腾飞 杨腾飞 版本号 修改内容 1.0 1.1 1.2 编写需求分析 修改模块接口设计 编写自我评价 TCP/IP 协议的概述 TCP/IP(Transmission Control Protocol/Internet Protocol)的简写,中文译名为传输控制 协议/因特网互联协议,又叫网络通讯协议,这个协议是 Internet 最基本的协议、Internet 国 际互联网络的基础,简单地说,就是由网络层的 IP 协议和传输层的 TCP 协议组成的。TCP/IP 协议使用范围极广,是目前异种网络通信使用的唯一协议体系,适用于连接多种机型,既可 用于局域网,又可用于广域网,许多厂商的计算机操作系统和网络操作系统产品都采用或含 有 TCP/IP 协议。TCP/IP 协议已成为目前事实上的国际标准和工业标准。基于 TCP/IP 协议组 的网络模型分为应用层、传输层、网络层、链路层和物理层这样五个层次。TCP/IP 协议组位 于应用程序和硬件之间,指挥数据在网络各层中传递。其中传输层的协议包括传输控制协议 (TCP)和用户数据报协议(UDP) ,它们都建立在 IP 协议的基础上,其中 TCP 提供可靠的面向 连接服务,UDP 提供简单的无连接服务。传输层提供端到端,即应用程序之间的通信,主要 功能是数据格式化、数据确认和丢失重传等。TCP 协议是面向连接的协议,它提供可靠的字节 流服务,在进行数据传输之前必须先建立连接,经三次握手确定后才开始数据传送。UDP 进行 数据报传输使用的是不可靠、无连接的协议。网络层包括互连网协议 IP,互连网控制报文协 议 ICMP 和互连网组管理协议 IGMP。其中 IP 协议完成大部分的工作,负责数据传输和路由的 选择等。I P 报头中的地址和网卡相联系( 具体还涉及地址解析和反向地址解析协议),TCP 、 UDP 报头中的端口号侧对应着网络主机上不同的程序。TCP/IP 体系结构如图一所示:
网络编程技术大作业 版本:0.1.0 第 3页 TCP/IP 体系结构 Socket 通常也称作"套接字",用于描述 IP 地址和端口,是一个通信链的句柄。应用程 序通常通过"套接字"向网络发出请求或者应答网络请求。Socket 接口是 TCP/IP 网络的 API, Socket 接口定义了许多函数或例程,程序员可以用它们来开发 TCP/IP 网络上的应用程序。 尽管 TCP/IP 协议的名称中只有 TCP 这个协议名,但是在 TCP/IP 的传输层同时存在 TCP 和 UDP 两个协议。 TCP 是一种面向连接的保证可靠传输的协议。通过 TCP 协议传输,得到的是一个顺序的 无差错的数据流。发送方和接收方的成对的两个 socket 之间必须建立连接,以便在 TCP 协议 的基础上进行通信,当一个 socket(通常都是 server socket)等待建立连接时,另一个 socket 可以要求进行连接,一旦这两个 socket 连接起来,它们就可以进行双向数据传输,双方都可 以进行发送或接收操作。
网络编程技术大作业 版本:0.1.0 第 4页 目 录 1 文档概述 ..............................................................................................................................................................5 1.1 文档目的和范围 ......................................................................................................................................5 1.2 术语/缩略语 .............................................................................................................................................5 1.3 参考文档 ..................................................................................................................................................5 2 系统概述 ..............................................................................................................................................................5 2.1 项目说明 ..................................................................................................................................................5 2.2 需求分析 ..................................................................................................................................................5 2.3 可行性或难点分析 ..................................................................................................................................6 3 通信协议设计 ......................................................................................................................................................6 3.1 通信流程 ..................................................................................................................................................6 3.2 数据格式 ............................................................................................................... 错误!未定义书签。 3.3 会话举例 ..................................................................................................................................................7 4 系统设计说明 ......................................................................................................................................................9 4.1 模块整体结构图 ......................................................................................................................................9 4.2 使用说明书 ..............................................................................................................................................9 5 模块详细说明 ......................................................................................................................................................9 5.1 核心通信模块 ..........................................................................................................................................9 5.1.1 5.1.2 socket 函数的功能....................................................................................错误!未定义书签。 通信时序图............................................................................................... 错误!未定义书签。 5.2 用户接口模块 ....................................................................................................... 错误!未定义书签。 5.3 类/接口/函数说明 ................................................................................................. 错误!未定义书签。 6 结论 ....................................................................................................................................................................13 6.1 自我评价或总结 ....................................................................................................................................13 6.2 需要进一步学习的内容 ........................................................................................................................13 6.3 系统扩展计划 ........................................................................................................................................13
网络编程技术大作业 1 文档概述 1.1 文档目的和范围 版本:0.1.0 第 5页 明确任务和需求,使得软件开发人员知道软件开发流程,软件测试时更有条理。 1.2 术语/缩略语 序 号 术语/缩略语 说明 1 2 3 4 5 应用程序编程接口 API Socket IP Client/Server 客户机/服务器模式 Winsock 网络套接口 IP 是英文 Internet Protocol(网络之间互联的协议)的缩写 Windows 下网络编程的规范 1.3 参考文档 序 号 文档名 作者 时间 版本 1 Windows 网络编程 罗莉琴 詹祖桥 2011 年 4 月 第 1 版 2 系统概述 2.1 项目说明 本软件是把客户端和服务器集为一体,通过 tcp 协议,实现可靠的文件传输功能。 运行环境:win7 2.2 需求分析 该程序实现局域网内的文件传输功能,包括服务器端程序和客户端程序两部分。 客户端程序:可连接到服务器,并将文件发送到服务器端和接受服务器端发送来的文件。 服务器端程序:负责相应客户端的消息和接收客户端发送来的文件。
网络编程技术大作业 2.3 可行性或难点分析 版本:0.1.0 第 6页 本软件的难点在于进行文件传输时只能传送较小的文件,对于大文件的传输还有部分 问题尚待解决。此外,传输文件时的效率较低,程序容易出现假死现象,所以考虑到如果使 用多线程应该能提高效率,但是基于自身能力和时间问题,这部分优化没有做,只是完成了 基本的文件传输功能。 3 通信协议设计 3.1 通信流程
网络编程技术大作业 3.2 会话举例 版本:0.1.0 第 7页 1.选择服务器端的话会自动获取本机 IP,可以自定义端口号。然后点击“启动”按钮,可以开启服务器监 听有无客户端连接。 2.选择客户端可以自己输入要连接的服务器的 IP 地址和端口号。点击“连接”按钮,可以连接到服务器, 然后“选择文件”按钮才可以被点击。 3.服务器和客户端连接后的状态如下所示:
网络编程技术大作业 版本:0.1.0 第 8页 4.选择一个文件后点击发送,文件接收成功后会出现提示框。
分享到:
收藏