数据通信软件开发与基本原理分析论文.doc_第1页
数据通信软件开发与基本原理分析论文.doc_第2页
数据通信软件开发与基本原理分析论文.doc_第3页
数据通信软件开发与基本原理分析论文.doc_第4页
数据通信软件开发与基本原理分析论文.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据通信软件开发与基本原理分析论文 摘要:在现有局域网技术中,以太网是最通用的通信协议标准。伴随着以太网技术和标准的不断发展与完善,其可以为用户提供更多更好的的数据通信业务。本设计对以太网的发展现状和光纤通信做了简要的分析,构建了以太网的测试环境。利用Socket软件,用光纤收发器和光纤连接两台PC机,进行客户端和服务器之间的通信测试,然后基于VC+环境下利用MFC的CSocket类编程实现客户端的应用程序,并用软件编程实现的客户端与服务器进行了数据通信的测试。 关键词:以太网;光纤;TCPSocket;数据通信 1绪论 11以太网简介 10G以太网代表了有线以太网最先进的技术1。10G以太网结构简单、具有良好的兼容性且造价比较低。千兆以太网作为一种针对企业设备的新型高速标准网络接口已经得到普遍应用。随着广泛开展的各类宽带业务,10G以太网技术在城域网和电信骨干网等得到广泛应用。万兆以太网在设计之初就考虑到城域骨干网需求,充分能够满足大多数城市城域网覆盖2。以太网主要应用在LAN、CAN、MAN、WAN等技术领域。 12光纤通信 (1)光纤通信的优点相对于电缆通信或微博通信,光纤通信具有许多优点: (1)容许频带很宽,传输容量很大 (2)损耗很小,中继距离很长且误码率很小; (3)重量轻、体积小; (4)抗电磁干扰性能好; (5)泄露小,保密性好; (6)节约金属材料,有利于资源合理分配。 (2)光纤通信的应用光纤通信可以传输模拟信号和数字信号,因此得到了广泛的应用: (1)通信网; (2)计算机局域网和广域网; (3)有线电视网的干线和分配网,工业电视系统,自动控制系统的数据传输; (4)综合业务光纤接入网。 (3)光纤通信系统的基本组成基本光纤传输系统有3部分组成:光发射端,光纤线路和光接收端。图1示出单向传输的光纤通信系统。在本次的设计中,用两个光纤收发器充当两个光发射机和光接收机。光纤收发器作为以太网传输媒体转换单元,可以将短距离的双绞线电信号和长距离的光信号进行互换。 2TCP协议 21TCP/IP协议的四个层次 TCP/IP通讯协议具有4层结构,每一层的需求都是通过呼叫它的下一层所提供的网络来完成,具体各层相应协议的说明解释如图2所示。 22TCP连接的建立与关闭 (1)TCP连接的建立TCP连接的建立,应用的是“三次握手”法。具体过程如下:第一次握手,客户端发送一个SYN段(同步序号),指明其要连接的服务器端口。第二次握手,服务器作为应答,发送回包含服务器的初始序号的SYN报文段。并对确认序号(ACK)设置为客户的ISN加1,以确认客户的SYN报文段。第三次握手,客户须对确认序号设置为服务器的ISN加1,以确认服务器的SYN报文段。(2)关闭连接由于TCP关闭连接时需要向每个传输方向发送一个关闭连接的报文段,同时还需接受对方的确认报文段,因此关闭连接应用的是“四次握手”法。具体过程如下:第一次握手,客户端的应用进程向其TCP协议层发出连接终止命令。第二次握手:服务器的TCP协议层收到关闭连接的报文段后,发出确认。第三次握手:服务器告知TCP协议层关闭连接。第四次握手:客户端收到关闭连接的报文段后,发出确认,服务器收到确认,完全关闭连接。 23TCP的流量控制和拥塞控制 TCP的流量进行控制是利用滑动窗口机制实现的,接收方在返回的ACK中会包含自己的接收窗口的大小,以控制发送方的数据发送。在传输数据的实际网络中,由于网络中的链路容量、交换结点中的缓存、处理机等都有着工作的极限,当网络的需求超过它们的工作极限时,就出现了拥塞,这时可引入一个拥塞窗口。TCP连接建立时,发送方发送一个长度为MSS的报文段,如果网络没有出现拥塞,拥塞窗口会增大到2MSS,以便把更多的数据发送出去。如果都收到确认,那么拥塞窗口就按照指数规律一直增大窗口。但如果出现网络拥塞,拥塞窗口就开始减小。 3Socket软件数据通信测试 31流式套接口 利用socket的数据流进行通信。套接口的工作过程如下:(1)用socket()函数在服务器端建立一个通信的端点;(2)用bind()函数绑定这个端点的地址;(3)在服务器端使用listen()函数侦听连接请求,当远程的客户机使用connect()函数连接listen()函数正在监听的端口时,使用aept()函数进行处理。当aept()函数处理了连接请求后,将会生成一个新的描述这个连接端口的套接字,利用这个套接字就可以发送和接收数据了。若listen()始终未侦听到连接请求,则服务器会在aept()处阻塞,直至有连接请求到来。 32Socket软件数据通信测试 TCP/UDPSocket调试工具提供了TCPClient、TCPServer、UDPClient、UDPServer、UDPGroup共5种Socket调试方案。下面是TCPClient方案的调试。在调试过程中,两台PC机用两个光纤收发器和一根光纤连接进行数据的通信。(1)创建TCPClient;(2)向服务器绑定的端口号连接;(3)双方通信,如图3和图4所示。图3和图4只是客户端的数据收发情况,服务进程要先于客户请求启动,即只有服务器处在监听状态时,客户端的连接请求才有可能被服务器接收到。 4VC+实现Socket通信编程 41CSocket类编程基本原理 (1)连接建立阶段:首先服务器中的监听套按字调用listen()对端口进行监听,客户端的套接字调用connect()向服务器端的特定端口发出链接请求,客户机端会调用套接字的OnConnect()告知连接的结果,可以判断是否链接成功并查询失败的原因。如果成功连接,表示客户机和和服务器之问建立起了一个通信的通道,为通信做好准备。(2)通信阶段:这是整个过程的核心部分,相对简单,就是数据的发送,调用send(),receive()函数。(3)拆除连接阶段:在传完数据之后,调用Close()关闭套接字,释放所分配的资源。当对方的套接字被关闭后,框架会调用OnConnecl()函数通知。 42编程实现 Socket数据通信在VisualC+60中用程序做一个TCPSocket软件的客户端,并能够通信,操作步骤如下:图6建立MFCAppWizardEXE工程(1)创建MFCAppWizardEXE工程;打开VisualC+60界面,单击“文件/新建”如图6;(2)创建应用程序选择基本对话框;(3)完成客户端会话框;(4)添加一个新类;(5)添加成员变量;(6)添加成员函数OnConnect();(7)添加控件程序;(8)在CSocket_002Dlg:OnInitDialog()中添加代码。服务端和客户端的通信如图7所示。从图7可以看出,编程实现的客户端可以用来数据通信。 5总结 本设计在TCPSocket的基础上,完成了数据通信软件的开发。首先,在两台PC机上,用光纤收发器进行数据通信的测试,熟悉了数据通信的基本流程。然后,在VC+开发环境下,熟悉开发环境,创建了一个名“为Socket_002”的MFCAppWizardEXE工程。在这个工程下,建立客户端和服务器端的对话框,生成一个源程序。在该程序中生成变量,添加控件程序,进行编译和运行,生成一个EXE文件。一个TCPSocket的通信软件的开发就完成了。用开发出的软件,进行了客户端和服务器端的通信3,4。本设计表明基于VC+开发环境可以方便地开发以太网的数据通信的应用,建立数据通信的测试和应用系统,完成数据通信的任务。在此基础上还可以在其他的操作系统上完成软件的数据通信开发,例如Lnix,Unix,WindowsCE操作系统,拓展更宽广的应用领域。 参考文献 1王国河基于实时以太网Ether

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论