电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOCX文档下载
分享到微信 分享到微博 分享到QQ空间

网络通信原理大作业--基于TCP的ATM系统

  • 资源ID:373311026       资源大小:556.87KB        全文页数:19页
  • 资源格式: DOCX        下载积分:25金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要25金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

网络通信原理大作业--基于TCP的ATM系统

网络通信原理大作业基于TCP的ATM系统目录一、实验目标 31.1 设计目标 31.2 完成功能 3二、实验原理 42.1 TCP在TCP/IP协议簇中的位置及特点42.2 TCP的SOCKET 实现 42.3 客户端/服务器端模型的设计原理 5三、程序设计 63.1 程序主要类结构 63.2 建立/关闭Socket 63.2.1 建立Socket 63.2.2 收发数据 73.2.3 关闭Socket 83.3 ATM终端操作和服务器端响应程序 93.3.1 查询 93.3.2 取款 93.3.3 存款103.3.4 修改密码11四、开发工具12五、测试报告125.1 测试环境125.2测试方法和步骤125.2.1 服务器端125.2.2 ATM终端135.3 测试结果19六、软件开发总结196.1 软件开发的收获196.2 难点问题的处理及待完善的问题19七、参考文献19一、实验目标1.1设计目标TCP 是Transmission Control Protocol 的简称,是一种面向连接的、可靠的、基于字节流的传输层通信协议。本设计采用基于TCP协议的sock编程,通过实现网络数据发送和接收功能,模拟简单的银行ATM系统,包括ATM终端机和银行服务器。1.2完成功能(1)ATM终端机初始化,保证输入正确的服务器地址和端口号,才能成功连接到银行服务器,进行后续操作。(2)用户在ATM终端机上输入正确的卡号和密码后,进入ATM终端机操作界面,通过TCP的socket发送相关操作命令和数据给银行服务器。(3)银行服务器准确接收ATM终端机发送过来的命令和数据。(4)根据接收的命令和数据,对ATM终端机的相关命令进行响应,对相关数据进行处理,并将用户操作过程显示出来。程序界面如下:图1 ATM终端机操作界面图2 银行服务器显示界面二、实验原理2.1 TCP在TCP/IP协议簇中的位置及特点图3 TCP/IP体系结构使用TCP通信有以下特点: (1)面向连接的传输;(2)端到端的通信;(3)高可靠性,确保传输数据的正确性,不易出现丢失或乱序;(4)全双工方式传输;(5)采用字节流方式,即以字节为单位传输字节序列;(6)紧急数据传送功能。2.2 TCP的SOCKET 实现套接字是支持TCP/IP协议的网络通信的基本操作单元,可以将套接字看做不用主机间的进程进行双向通信的端点,在网络编程中最常用的方案便是客户端/服务器端模型,简称C/S模型。根据传输数据类型的不同,套接字可分为面向连接的字节流套接字(stream sockets)和无连接的数据报套接字(datagram sockets)两种类型。面向连接的套接字系统调用时序如图4所示。字节流不按记录定界,在TCP/IP协议簇中对应TCP协议,它是一个提供给用户进程的可靠的全双工的面向连接的协议,大多数Internet应用程序如ftp、telnet使用TCP协议。图4 面向连接的套接字系统调用时序2.3 客户端/服务器端模型的设计原理客户端/服务器端模型(简称C/S模型)是一种网络模型,描述了一种网络程序运行的方式。它将网络应用程序分为客户端和服务器端两部分。客户端对服务器端发送信息请求,服务器端对其做出相应回答,提供服务。在TCP/IP网络应用中,多数网络应用程序是使用客户端/服务器端模型设计的。服务程序通常在一个众所周知的地址监听对服务的请求,也就是说,服务进程一直处于休眠状态,直到一个客户程序提出了请求信息。此时,服务程序被“惊醒”并且为客户提供服务,对客户的请求作出适当的反应。当建立服务器程序时,应该将服务器程序设计成等候客户的请求。我们知道,TCP传输层通过协议端口和应用程序(像服务器和客户)通信,也就是说,为了按收客户请求,服务器程序必须对传输层的一个特定协议端口进行侦听。当服务器配置socket接口时,它使用bind()函数让socket执行体登记一个协议端口。也就是说,程序告诉socket执行体使用哪个协议端口进行数据传送。Socket执行体接着告诉传输层某个特定协议端口已被使用,并将其收到的所有数据传送给Socket API。本系统采用C/S模型,使用从MFC类中的CAsyncSocket类的派生类进行实现底层通讯。服务器运行的流程为:服务器运行后,开启服务,则服务器开始侦听用户请求,如有客户端连接上首先,发送回确认信息,然后,建立一个线程,处理接受到的数据。在线程里,按照接受到数据的类别,进行相应的处理,如有需要,会向用户发送处理的结果,或成功或失败的消息,处理结束后,线程就结束了。这样,可以实时接受每个用户的请求,不会因为处理一个用户的请求,而忽略了其它用户。服务器端主要是为协调用户之间的通讯,服务器端的设计,主要在功能上面。客户端主要是界面的设计(除了底层通讯的以外),向服务器发送加入请求,然后等待服务器的响应。若有加入的其他客户端,则可与之进行通信。三、程序设计3.1程序主要类结构ATM终端和银行服务器端的程序主要类结构如图5所示: (a)ATM终端类结构 (b) 银行服务器端类结构图5 程序主要类结构用户输入的实现:ATM终端通过Edit控件,根据用户选择的操作,输入需要发送的命令或数据:包括登陆、查询、存钱、取钱、钱的数目、修改密码、取卡等。结果输出的实现:命令和数据在银行服务器端的CClientSocket类中处理,更新相关数据库,并将处理结果发送回ATM终端,同时将ATM终端的相关操作过程显示出来。数据的接收发送:通过ATM终端程序中的CUserSocket 类将需要发送的命令或数据封装成TCP包发送,通过银行服务器端的CClientSocket类接收TCP包,解析并将命令或数据进行相关操作。3.2 建立/关闭Socket3.2.1 建立Socket首先对服务器端和ATM终端建立Socket,服务器端创建监听套接字,准备接收连接,ATM终端建立创建套接字,请求连接到服务器,其源代码主要如下:(1)服务器端建立监听Socket(2)ATM终端建立Socket3.2.2 收发数据建立连接后,服务器端接收ATM终端发来的命令或数据,ATM终端发送命令或数据到服务器,等待服务器响应,其源代码主要如下:(1)服务器端接收数据:(2)ATM终端发送数据:3.2.3 关闭Socket数据收发完后,要关闭Socket,其源代码主要如下:(1)服务器端关闭套接字:(2)ATM终端关闭套接字:3.3 ATM终端操作和服务器端响应程序3.3.1 查询ATM终端操作选择“查询”时,向服务器端发出查询命令,服务器收到命令后做出相应的响应,源代码如下所示:(1)ATM终端“查询”操作代码:(2)服务器端响应“查询”代码:3.3.2 取款ATM终端操作选择“取款”时,向服务器端发出取款命令,服务器收到命令后做出相应的响应,源代码如下所示:(1)ATM终端“取款”操作代码:(2)服务器端响应“取款”代码:3.3.3 存款ATM终端操作选择“存款”时,向服务器端发出存款命令,服务器收到命令后做出相应的响应,源代码如下所示:(1)ATM终端“存款”操作代码:(2)服务器端响应“存款”代码:3.3.4 修改密码ATM终端操作选择“修改密码”时,向服务器端发出修改密码命令,服务器收到命令后做出相应的响应,源代码如下所示:(1)ATM终端“修改密码”操作代码:(2)服务器端响应“修改密码”代码:四、开发工具本实验所使用的开发工具是Microsoft Visual C+6.0。五、测试报告5.1 测试环境(1)硬件环境:CPU Intel T5670 1.80GHz ,内存2GB DDR3, 网卡 Intel 82562GT 10/100 Network Connection,网络接入带宽100MHz局域网接入;(2)软件环境:使用系统为Windows 7。5.2 测试方法和步骤5.2.1 服务器端(1)服务器端初始界面:(2)设置好端口号后,点击确定进入服务器界面:(3)用户数据库和服务器程序要保证在同一路径下,否则会导致程序运行结果出错。(4)当ATM终端机进行操作时,服务器界面会显示用户的相关操作:5.2.2 ATM终端(1)ATM终端初始界面:(2)设置好服务器地址和端口号后,点击确定进入ATM登陆界面:(3)输入正确的账号和对应的密码后,点击确认进入ATM操作界面:(目前只有两个账号:111111111和123456789;密码分别是222222和123456)(4)点击相应的操作按键,进入各操作子界面:(4)退出ATM终端后的界面:5.3 测试结果本系统运行情况良好,经过上述的测量方法和步骤进行测试,所有操作均正确响应,包括ATM基本功能:查询、存款、取款和修改密码,另外,登陆和退出界面也正确显示,各种提醒弹窗也在相应情况下弹出,没有任何误操作,证明本系统设计成功,达到预期的目的。六、软件开发总结6.1 软件开发的收获通过此次大实验我更加清晰的理解了TCP/IP协议簇的组成及实现方法,深入地理解了Socket编程的分类及实现方法,特别是对TCP协议有了一个全面的深入的了解,并实现了其在局域网络中的应用。同时,通过Microsoft Visual C+提供的MFC类库,实现了Socket类

注意事项

本文(网络通信原理大作业--基于TCP的ATM系统)为本站会员(liy****000)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.