1.3开发目的
随着社会的发展,在信息社会中,信息的获取、处理、交流和决策都需要高质量的计算机软件来完成。作为计算机应用的一部分,使用计算机实现TCP客户端与服务器的编程,具有很大的意义。例如使用方便、可靠性高、保密性好、寿命长、成本低等。这些优点能够极大地提高效率,这是社会进步与国际接轨的表现。设计一个TCP的服务器与客户端程序,目的是为了更快,更好地使用TCP网络进行上层业务开发,使TCP编程更加方便。
1.4开发要求
利用流式套接字编写TCP客户机和服务器程序。主要包含的功能如下: 服务器功能:
从端口6000接收客户发送来的数据;只要有客户请求连接,服务器就接受连接;连接成功后,服务器端显示客户的IP地址和端口号,并向请求连接的客户发送“I am a server!”信息;如果发送过程正确完成,显示所发送的字节数。
客户机功能:
向服务器发出连接请求;连接成功后,接收并显示从服务器收到的信息内容和字节数。
2 可行性分析
可行性分析(feasibility study ),是世界上普遍采用的一种研究工程项目是否可行的科学。它通过各种有效的方法,对工程项目进行分析,从技术、经济、财务等方面加以评价,最终给投资决策者提供是否选择该项目进行投资的依据。
2.1技术可行性分析
当今社会计算机已经相当普及,人们的日常生活基本离不开它。TCP服务器和客户端编程主要实现从端口6000接收客户发送来的数据,如果有客户请求连接,服务器就接受连接;连接成功后,服务器端显示客户的IP地址和端口号,并向请求连接的客户发送“I am a server!”信息;如果发送过程正确完成,显示所发送的字节数对客户信息的管理,内容并不复杂。因此制作一个TCP客户端和服务器程序是有必要的。
综上所述,科研管理信息系统的开发从数据库技术、软件技术、硬件技术方面均具有可行性。
2.2操作可行性分析
根据要求本系统需要操作界面友好,界面美观,使用简单方便,系统稳定性好,安全可靠。本系统是高校科研管理信息系统,获取的本机名,用来解析得到本机的IP地址的;接着就绑定IP地址成功,然后服务器就处于监听状态,等待客户端的连接。也就是接下来就是TCP/IP的三次握手的操作,该操作成功了服务器和客户端就可以进行通信了。
综合科研管理信息系统的各项简洁操作,本系统在操作上是可行的。
2.3经济可行性分析
硬件方面, 一台普通的计算机上就可以实现本次编程,一般的I5双核四线程或者AMD的四核CPU,可以满足要求了。对于复杂的通信与开发,计算机能够充分发挥它的优越性。总的来说,此次编程对电脑要求不会很高,后期运行对系统也无过高要求。
所以,从经济角度来讲,开发本程序是可行的。
3 需求分析
TCP协议提供的是可靠的、面向连接的传输控制协议,即在传输数据前要先建立逻辑连接,然后再传输数据,最后释放连接3个过程。TCP提供端到端、全双工通信;采用字节流方式,如果字节流太长,将其分段;提供紧急数据传送功能。本次课程设计的题目是TCP服务器与客户端软件,使用TCP协议实现客户端与服务器之间的通信。软件针对局域网内部用户,实现用户间的即时通信。需要分别实现服务器端和客户端的软件设计。
TCP要求在发送数据之前必须打开连接。服务器应用程序必须执行一个称作被动打开(passive open)的操作,以利用一个已知的端口号创建一个链接,这是,服务器并不是对网络进行呼叫,而是侦听并等待引入的请求。客户应用程序必须执行一个主动打开(active open),为此,它向服务器应用程序发送一个同步序列号(SYN)以标识连接。客户应用程序可以将动态端口号作为本地端口使用。服务器必须向客户发送一个确认(ACK)以及服务器的序列号(SYN)。随后,客户回复一个ACK,这样就建立了链接。
4系统设计
系统设计要回答“怎么做”,即如何实现系统说明书规定的系统功能。在这一阶段,要根据实际的技术条件,经济条件和社会条件确定系统的实施方案,即系统的物理模型。
4.1系统结构
套接字这个术语并没有定义某个协议:它具有两层含义,但两者都与一个协议相关。第一个含义是套接字编程API,它最初由伯克利大学为BSD UNIX而创建。BSD套接字在经过修改后被用作Windows环境的编程接口(并且被命名为WinSock)。WinSock API被包装在System.Net.sockets命名空间的.NET类中。Windows Sockets 是一个独立于协议的编程接口,用于编写网络应用程序。套接字的第二层含义表示一个用于在进程间进行通信的终端。在TCP/IP中,每个终端都与一个IP地址和一个端口号绑定。我们必须对流式套接字和数据报套接字这两种类型进行区分。流失套接字用TCP/IP协议来使用面向连接的通信。
使用 TCP 套接字编程可以实现基于 TCP/IP 协议的面向连接的通信,它分为 服务器端和客户端两部分,其主要实现过程如图4.1 所示。