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

上传人:p** 文档编号:648416 上传时间:2024-01-02 格式:DOCX 页数:19 大小:348.69KB
下载 相关 举报
网络通信原理大作业--基于TCP的ATM系统.docx_第1页
第1页 / 共19页
网络通信原理大作业--基于TCP的ATM系统.docx_第2页
第2页 / 共19页
网络通信原理大作业--基于TCP的ATM系统.docx_第3页
第3页 / 共19页
网络通信原理大作业--基于TCP的ATM系统.docx_第4页
第4页 / 共19页
网络通信原理大作业--基于TCP的ATM系统.docx_第5页
第5页 / 共19页
网络通信原理大作业--基于TCP的ATM系统.docx_第6页
第6页 / 共19页
网络通信原理大作业--基于TCP的ATM系统.docx_第7页
第7页 / 共19页
网络通信原理大作业--基于TCP的ATM系统.docx_第8页
第8页 / 共19页
网络通信原理大作业--基于TCP的ATM系统.docx_第9页
第9页 / 共19页
网络通信原理大作业--基于TCP的ATM系统.docx_第10页
第10页 / 共19页
亲,该文档总共19页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《网络通信原理大作业--基于TCP的ATM系统.docx》由会员分享,可在线阅读,更多相关《网络通信原理大作业--基于TCP的ATM系统.docx(19页珍藏版)》请在第壹文秘上搜索。

1、网络通信原理大作业基于TCP的ATM系统目录一、实验目标31.1 设计目标31.2 完成功能3二、实验原理42.1 TCP在TCP/IP协议簇中的位置及特点42.2 TCP的SOCKET实现42.3 客户端/服务器端模型的设计原理5三、程序设计63.1 程序主要类结构63.2 建立/关闭SOCket63.2.1 建立SOCket63.2.2 收发数据73.2.3 关闭Socket83.3 ATM终端操作和服务器端响应程序93.3.1 查询93.3.2 取款93.3.3 存款103.3.4 修改密码11四、开发工具12五、测试报告125.1 测试环境125.2 测试方法和步骤125.2.1 服务

2、器端125.2.2 ATM终端135.3 测试结果19六、软件开发总结196.1 软件开发的收获196.2 难点问题的处理及待完善的问题19七、参考文献19一、实验目标1.1 设计目标TCPTransmissionControlProtocol的简称,是一种面向连接的、可靠的、基于字节流的传输层通信协议。本设计采用基于TCP协议的Soek编程,通过实现网络数据发送和接收功能,模拟简单的银行ATM系统,包括ATM终端机和银行服务器。1.2 完成功能(I)ATM终端机初始化,保证输入正确的服务器地址和端口号,才能成功连接到银行服务器,进行后续操作。(2)用户在ATM终端机上输入正确的卡号和密码后,

3、进入ATM终端机操作界面,通过TCP的socket发送相关操作命令和数据给银行服务器。(3)银行服务器准确接收ATM终端机发送过来的命令和数据。(4)根据接收的命令和数据,对ATM终端机的相关命令进行响应,对相关数据进行处理,并将用户操作过程显示出来。程序界面如下:图1 ATM终端机操作界面号号号号号号号号号号号号号号111111111, 111111111, 111111111, 111111111, 111111111, 111111111, 111111111, 111111111, 111111111, 111111111, 111111111, 111111111, Iiniiiii

4、, 111111111,功码码码其码作图2银行服务器显示界面二、实验原理2.1 TCP在TCP/IP协议簇中的位置及特点图3TCP/IP体系结构使用TCP通信有以下特点:(1)面向连接的传输;(2)端到端的通信;(3)高可靠性,确保传输数据的正确性,不易出现丢失或乱序;(4)全双工方式传输;(5)采用字节流方式,即以字节为单位传输字节序列;(6)紧急数据传送功能。2.2 TCP的SOCKET实现套接字是支持TCP/IP协议的网络通信的基本操作单元,可以将套接字看做不用主机间的进程进行双向通信的端点,在网络编程中最常用的方案便是客户端/服务器端模型,简称C/S模型。根据传输数据类型的不同,套接字

5、可分为面向连接的字节流套接字(Streamsockets)和无连接的数据报套接字(datagramsockets)两种类型。面向连接的套接字系统调用时序如图4所示。字节流不按记录定界,在TCP/IP协议簇中对应TCP协议,它是一个提供给用户进程的可靠的全双工的面向连接的协议,大多数Internet应用程序如ftp、telnet使用TCP协议。图4而向连接的套接字系统调用时序2.3 客户端/服务器端模型的设计原理客户端/服务器端模型(简称C/S模型)是一种网络模型,描述了一种网络程序运行的方式。它将网络应用程序分为客户端和服务器端两部分。客户端对服务器端发送信息请求,服务器端对其做出相应回答,提

6、供服务。在TCP/IP网络应用中,多数网络应用程序是使用客户端/服务器端模型设计的。服务程序通常在一个众所周知的地址监听对服务的请求,也就是说,服务进程一直处于休眠状态,直到一个客户程序提出了请求信息。此时,服务程序被“惊醒”并且为客户提供服务,对客户的请求作出适当的反应。当建立服务器程序时,应该将服务器程序设计成等候客户的请求。我们知道,TCP传输层通过协议端口和应用程序(像服务器和客户)通信,也就是说,为了按收客户请求,服务器程序必须对传输层的一个特定协议端口进行侦听。当服务器配置SOCket接口时,它使用bind()函数让SOCket执行体登记一个协议端口。也就是说,程序告诉SOCket

7、执行体使用哪一个协议端口进行数据传送。SOCket执行体接着告诉传输层某个特定协议端口已被使用,并将其收到的所有数据传送给SocketAPIo本系统采用C/S模型,使用从MFC类中的CAsyncSocket类的派生类进行实现底层通讯。服务器运行的流程为:服务器运行后,开启服务,则服务器开始侦听用户请求,如有客户端连接上首先,发送回确认信息,然后,建立一个线程,处理接受到的数据。在线程里,按照接受到数据的类别,进行相应的处理,如有需要,会向用户发送处理的结果,或成功或失败的消息,处理结束后,线程就结束了。这样,可以实时接受每个用户的请求,不会因为处理一个用户的请求,而忽略了其它用户。服务器端主要

8、是为协调用户之间的通讯,服务器端的设计,主要在功能上面。客户端主要是界面的设计(除了底层通讯的以外),向服务器发送加入请求,然后等待服务器的响应。若有加入的其他客户端,则可与之进行通信。三、程序设计3.1 程序主要类结构ATM终端和银行服务器端的程序主要类结构如图5所示:E 号 ATM classes 飞 CAboutDIg田 CAIterPAWDIg由 F CATMApp+ CATMDIg+ 飞 CAuthentificateDIg+ F CDepositDlgE CInitDIg+ 飞 COperationDIgE 飞 CRequeryDIg+ BIS CUserSocket l CWit

9、hdrawDIg由 OGIobaIs- 摩 BankServer classes+ F CAboutDIg+ F CBankServerApp+ 飞 CBankServerDlg+ 飞 CCIientSocket* 飞 CInitDIg+ 飞 CListenSocket+ 口 Globals(a)ATM终端类结构(b)银行服务器端类结构图5程序主要类结构用户输入的实现:ATM终端通过Edit控件,根据用户选择的操作,输入需要发送的命令或数据:包括登陆、查询、存钱、取钱、钱的数目、修改密码、取卡等。结果输出的实现:命令和数据在银行服务器端的CCIiemSOCket类中处理,更新相关数据库,并将处

10、理结果发送回ATM终端,同时将ATM终端的相关操作过程显示出来。数据的接收发送:通过ATM终端程序中的CUSerSoCket类将需要发送的命令或数据封装成TCP包发送,通过银行服务器端的CCIientSocket类接收TCP包,解析并将命令或数据进行相关操作。3.2 建立/关闭Socket3.2.1 建立SOCket首先对服务器端和ATM终端建立SoCke3服务器端创建监听套接字,准备接收连接,ATM终端建立创建套接字,请求连接到服务器,其源代码主要如下:(1)服务器端建立监听Socket弹出初始话对话框CInitDlgdig;if(dig.DoModalO三三IDOK)创建监听套节字npSo

11、cket=newCListenSocketCthis);if(npSocket-Create(dlg.nnPort+700)Listen()AfXMeSSageBOXr初始化失败,请稍候再试,ExitProcess(I);elseAfXMeSSageBoXr初始化失败,请稍候再试,,);ExitProcess(I);elseExitProcess(I);(2)ATM终端建立SocketuoidCATMDlg-OnLogOCreate()iF(mpSocket-Connect(mstrfiddressfmnPort)(n_sError=_T(UnabletoconnecttoSerUer);AF

12、XMeSSageBO对木起,连接熊务器木版功,请稍候,试,“);1.StrID=-T(,);UpdateDataiFfiLSE);return;3.2.2收发数据建立连接后,服务器端接收ATM终端发来的命令或数据,ATM终端发送命令或数据到服务器,等待服务器响应,其源代码主要如下:(1)服务器端接收数据:处理客户端的连接信息uoidCBankSeruerDlg:ProCeSSPendingACCePt(),生成一个新的套节字与客户端通讯CClientSocket*pSocket=newCClientSocket(this);if(m_pSocket-Accept(*pSocket)elsede

13、letepSocket;(2)ATM终端发送数据:BOOLCATMDlg:get_response(UINTeecuted-action)Receiue(response_buF,RESPONSE_BUFFER_SIZE);if(nChars=SOCKET_ERROR)n_sResponse=responsebuf;n_sResponse=m_sResponse.LeFt(nChars);if(m-sResponse.Left(4)=,-ERR)(n_sError=error_tableexecuted_action;returnFALSE;returnTRUE;3.2.3关闭SOCket数据

14、收发完后,要关闭SoCket,其源代码主要如下:(1)服务器端关闭套接字:uoidCBankSeruerDlg:OnOK()/TODO:Addextravalidationhere停止服务CClientSocket*pClientSocket=NULL;while(?n_connectionList.IsEmptyO)pClientSocket=(CClientSocket*)m_connectionList.RemoueHead();deletepClientSocket;if(m_pSocket=NULL)deletenpSocket;m_pSocket=NULL;CDialog:OnOK();(2) ATM

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 通信/电子 > 数据通信与网络

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!