欢迎来到天天文库
浏览记录
ID:15132624
大小:661.00 KB
页数:14页
时间:2018-08-01
《基于tcp的cs模式程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于TCP的C/S模式程序设计一.课程设计基本介绍(1)设计内容及目的在VMwareWorkstation上运行Linux操作系统,在Linux系统下使用Socket编程实现两个进程之间的通信,两个进程间使用TCP建立可靠连接,熟悉TCP协议以及套接字编程原理;两个进程间使用C/S工作模式,在此结合并发服务器原理,实现服务器同时与多进程之间进行通信,深入了解C/S工作模式。(2)开发平台介绍VMwareWorkstation是一款功能强大的桌面虚拟计算机软件,提供用户可在单一的桌面上同时运行不同的操作系统,和
2、进行开发、测试、部署新的应用程序的最佳解决方案。VMwareWorkstation可在一部实体机器上模拟完整的网络环境,以及可便于携带的虚拟机器,其更好的灵活性与先进的技术胜过了市面上其他的虚拟计算机软件。对于企业的IT开发人员和系统管理员而言,VMware在虚拟网路,实时快照,拖曳共享文件夹,支持PXE等方面的特点使它成为必不可少的工具。VMwareWorkstation允许操作系统(OS)和应用程序(Application)在一台虚拟机内部运行。虚拟机是独立运行主机操作系统的离散环境。在VMwareWor
3、kstation中,你可以在一个窗口中加载一台虚拟机,它可以运行自己的操作系统和应用程序。你可以在运行于桌面上的多台虚拟机之间切换,通过一个网络共享虚拟机(例如一个公司局域网),挂起和恢复虚拟机以及退出虚拟机—这一切不会影响你的主机操作和任何操作系统或者它正在运行的应用程序。(3)发展前景VMwareWorkstation是一款可运行多种操作系统的虚拟机,方便用户的多种需求,此软件在实现用户需求的同时不会影响电脑原操作系统的使用,这个特点为其在以后的发展道路上有更好的前景。TCP是传输层的应用协议,可通过多方
4、面来保证数据传输的可靠性,它采用了停止等待方式来回应数据的接收,只有当接收到数据时,用户才发送数据确认报文,同时此协议使用滑动窗口方法来控制网络拥塞,提高数据传输的可靠性。二.相关原理(1)TCP/IP体系结构TCP/IP的中文译名为传输控制协议/网际协议,又叫网络通讯协议,这个协议是Internet最基本的协议,Internet国际互联网络的基础,简单地说,就是由网络层的IP协议和传输层的TCP协议组成的。TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的七层抽
5、象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上互相通信。这七层是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。而TCP/IP通讯协议采用了四层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求,如下图所示。图1计算机网络体系结构应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP),文件传输协议(FTP),网络远程访问协议(Telnet)等。传输层:在此层中,它提供了节点间的数据传送,应用程序之间的通信服务,主要功能是数据格式化,数据确认和丢失
6、、重传等。如传输控制协议(TCP),用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被传送并到达接收。网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否正确而接收),如网际协议(IP)。网络接口层:接收IP数据包并进行传输,从网络上接收物理帧,抽取IP数据报转交给上一层,对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet)来传送数据。(2)TCP传输ACKN+1FINNACKM+1FINM应
7、答ACK数据应答,请求ACK数据请求ACKK+1SYNK,ACKJ+1SYNJ2MSLsocket,bind,listenLISTENaccept阻塞SYN_RCVDESTABLISHEDaccept返回Read阻塞Read返回<服务器处理请求>WriteRead阻塞CLOSE_WAITRead返回0CloseLAST_ACKCLOSEDSocketConnectSYN_SENTESTABLISHEDWriteRead阻塞Read返回CloseFIN_WAIT1FIN_WAIT2TIME_WAIT客户端服务器
8、端图2TCP连接中分组交换以及客户端与服务器的状态转换TCP协议在IP协议之上,提供可靠的传输服务。这种服务的特点:可靠、全双工、流式和无结构传输。TCP协议使用了积极确认和重传送的技术来实现可靠传输。接收者在收到发送者发送的数据后,必须发送一个相应的确认(ACK)消息,表示他已经收到数据。发送者保存发送的数据的记录,在发送下一个数据之前等待这个数据的确认消息在他发送这个数据的同时,启动了一个计时器
此文档下载收益归作者所有