基于TcpIP协议的网络通讯设计.docx
《基于TcpIP协议的网络通讯设计.docx》由会员分享,可在线阅读,更多相关《基于TcpIP协议的网络通讯设计.docx(27页珍藏版)》请在三一办公上搜索。
1、基于TcpIP协议的网络通讯设计基于TCP/IP协议的网络通讯设计 JISHOU UNIVERSITY 专业课课程论文 题 目: 作 者: 学 号: 所属学院: 专业年级: 总 评 分: 完成时间: 基于 TCP/IP协议的网络通讯设计 信息科学与工程学院 吉首大学信息科学与工程学院 1 基于TCP/IP协议的网络通讯设计 基于Tcp/IP协议的网络通讯设计 摘要 本论文设计的目的是基于TCP/IP点对点通讯技术,以VB为平台设计并实现了一个基于C/S模式的五子棋网络游戏的总体设计方法。本设计主要是建构服务器端,采用TCP/IP网络协议,使用VB提供的Winsock控件来实现与客户端的网络通信
2、功能。主要功能是使客户端能连接到服务器端,双方可以通过网络对战,并且能够自动判断胜负。特点是支持双方网上聊天功能,还增添了悔棋、复盘、保存棋局/聊天记录等功能。 关键词:Winsock;VB;C/S工作模式;五子棋;TCP/IP 2 基于TCP/IP协议的网络通讯设计 Realization of network communication design based on Tcp/IP protocol (Server) Abstract The thesis is aimed to achieve a C/S (Client/Server) mode backgammon online ga
3、me based on the point to point communication technology by TCP/IP, with the Microsoft Visual Basic software platform. This design main to build a server-side that applied the TCP/IP protocol as the network protocol and used the tool of Visual Basic, Winsock, to realize the network communication. The
4、 functions of the design contain Client and Server side can be connected to each other and plays the backgammon games online, then it can auto judge the victory or defeat. The designs feature is to support chats online, undo, and replay, save games and chat records. Keywords: Winsock; Microsoft Visu
5、al Basic; Client/Server mode; backgammon game; TCP/IP 3 基于TCP/IP协议的网络通讯设计 目录 第一章 绪论 . 1 1.1 五子棋的简介 . 1 第二章 开发工具的选择 . 2 2.1 开发背景与现状 . 2 第三章 网络通讯的基本原理 . 3 3.1 Tcp/IP 体系结构 . 3 3.1.1 Tcp/IP简介 . 3 3.1.2 Tcp/IP特点 . 3 3.1.3 Tcp/IP协议的应用 . 4 3.2 Winsock . 5 33需求分析与总体设计 . 7 3.3.1 需求分析 . 7 3.3.1.1 五子棋功能需求 . 7
6、3.3.1.2 五子棋的规则 . 7 3.3.2 总体分析 . 7 34 五子棋游戏设计 . 9 3.4.1 设计原理 . 9 3.4.2通讯流程 . 9 3.4.3 算法描述 . 11 3.4.3.1 棋盘绘制算法 . 11 3.4.3.2 判断输赢算法 . 12 3.4.3.3 下棋决策算法 . 14 3.4.3.4 聊天记录管理算法 . 15 3.4.3.5 下棋记录管理算法 . 18 第四章 软件测试 . 20 4.1 登陆界面设计 . 20 4.2 下棋界面设计 . 21 第五章 软件测试 . 22 5.1 问题的发现 . 22 5.2 问题的解决 . 22 第六章 总结与体会 .
7、23 6.1 总结 . 23 6.2 体会 . 23 参考文献 . 25 4 基于TCP/IP协议的网络通讯设计 第一章 绪论 1.1 五子棋的简介 众所周知,五子棋是我国古代的、传统的黑白棋种之一,大约在南北朝时期随围棋一起先后传入朝鲜、日本等地。五子棋国际上正式称“连珠”,五子棋简单易学而又富有趣味,为大众喜爱。然而,五子棋又包含深奥的哲理和技巧,尤其是随着国际职业连珠运动的发展和竞赛规则的逐步完善,技法和战术有了很大发展,因此已不再是简单的游戏。五子棋与围棋棋子相似,围棋像军团作战,博大精深;五子棋则短兵相接,凶险复杂。 五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。
8、五子棋既有现代休闲的明显特征“短、平、快”,又有古典哲学的高深学问“阴阳易理”;它既有简单易学的特性,为广大人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有“场”的概念,亦有“点”的连接。它是中西文化的交流点,是古今哲理的结晶。 1 基于TCP/IP协议的网络通讯设计 第二章 开发工具的选择 2.1 开发背景与现状 在很早以前五子棋软件就已经被开发出来了,当时的五子棋软件仅提供了“人机模式”与“双人模式”。“人机模式”是指,人与计算机进行对弈,计算机按照事先编写好的算法程序来进行下棋;“双人模式”是指,两个人通过交替使用同一台计算机来
9、进行下棋。无论是选择哪一种模式,所有的操作都必须在同一台计算机上来往完成,棋局无法在异地计算机之间来进行,故而也叫单机版五子棋软件。 随着计算机网络的迅猛发展,异地计算机之间的通信变得十分便捷。这也为异地间的用户通过网络来进行下棋提供了可能。 网络五子棋软件利用TCP/IP协议,在异地的玩家之间建立起TCP连接,并用它来交换棋局的各种数据信息。所以,网络五子棋软件在下棋以前必须要对相关的网络参数进行设置,才能实现玩家双方的成功连接。连接成功后,玩家双方轮流下棋,并将每一步下棋的信息通过网络传送给对方,使得双方棋盘上的棋子保持一致,并且提供了“互动聊天”“悔棋”、“复盘”和“保存棋局”等功能。
10、2 基于TCP/IP协议的网络通讯设计 第三章 网络通讯的基本原理 3.1 Tcp/IP 体系结构 3.1.1 Tcp/IP简介 TCP/IP 作为 Internet的核心协议,通过近二十多年的发展已日渐成熟,并被广泛应用于局域网和广域网中,目前已成为事实上的国际标准。TCP/IP 协议集确立了 Internet 的技术基础。 TCP/IP 协议主要作用于 OSI 网络参考模型中的网络层、传输层和应用层。数据链路层的功能主要应用于其它协议如以太网、ATM、帧中继,以及多数供应商特定协议等。TCP/IP 充分支持所有通用第2层协议。TCP/IP 组中的应用程序通常直接运行于传输层协议 TCP 或
11、 UDP 上面,并不需要表示层和会话层的支持。 3.1.2 Tcp/IP特点 TCP/IP协议的核心部分是传输层协议(TCP、UDP),网络层协议(IP)和物理接口层,这三层通常是在操作系统内核中设计。因此用户一般不涉及。编程时,编程界面有两种形式:一、是由内核心直接提供的系统调用;二、使用以库函数方式提供的各种函数。前者为核内设计,后者为核外设计。用户服务要通过核外的应用程序才能设计,所以要使用套接字(socket)来设计。 TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件
12、在相同的层次上相互通信。这7层是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为: 3 基于TCP/IP协议的网络通讯设计 图 3-1-2 TCP/IP参考模型 应用层:在TCP/IP模型的最上层是应用层,它包含所有的高层的协议。高层协议有:虚拟终端协议TELNET、文件传输协议FTP、电子邮件传输协议SMTP、域名系统服务DNS、网络新闻传输协议NNTP和HTTP协议等等。 传输层:传输层位于互联网层的上一层,传输层的协议只存在于主机之中,它的功能是提供主机之间进程与进程
13、的有效数据传输。传输层使用端口号向应用层中不同进程提供与该端口号相应的服务。在传输层中有TCP协议即传输控制协议,和UDP协议即用户数据报协议。 互连网络层:它是整个体系结构的关键部分。它的功能是负责路由选择合适的通信节点,使数据分组能从源主机发往目的主机。这些分组到达目的主机的顺序和发送的顺序可能不同,因此如果需要按顺序发送和接收时,高层必须对分组进行排序。 网络接口层:接收IP数据报并进行传输,从网络上接收物理帧,抽取IP数据报转交给下一层,对实际的网络媒体的管理,定义如何使用实际网络来传送数据。 TCP协议是建立在IP协议之上的面向连接的端到端的通信协议。由于IP协议是无连接的不可靠的协
14、议,IP协议不可能提供任何可靠性保证机制,所以,TCP协议的可靠性完全由自身实现。TCP协议采取了确认、超时重发、流量控制等各种保证可靠性的技术和措施。TCP和IP两种协议结合在一起,实现了传输数据的可靠方法。它的安全和可靠性比UDP要高出很多。 由于网络五子棋对实时性要求较高,综合考虑的结果,本软件应使用TCP/IP协议。 3.1.3 Tcp/IP协议的应用 TCP允许你创建并维护一个与远程计算机的连接,使用该连接,4 基于TCP/IP协议的网络通讯设计 两台计算机之间就可以交换数据了。 如果你在创建一个客户应用程序,你必须知道服务器计算机的名字T注:建议用IP地址或IP地址,以及要监听的端
15、口号,然后调用Connect方法。 如果你在创建一个服务器应用程序,设置要监听的端口号,调用Listen方法。当客户建立连接请求时,产生ConnectionRequest事件。要完成该连接,在ConnectionRequest事件中调用Accept方法。 一旦建立了连接,两台计算机之间就可以发送和接受数据了。要发送数据,调用SendData方法。当接受数据时,产生DataArrival事件。在DataArrival事件中调用GetData方法来检取数据。 3.2 Winsock 1.TCP协议:TCP是传输控制协议的简称,是基于连接的协议,在数据传输之前必须先建立连接。通过TCP协议建立的是客
16、户/服务器通信方式。 2.UDP协议: UDP(User Data Protocol)是用户数据文报协议的简称,两台计算机之间的传输类似于传递邮件;两者之间没有明确的连接,可作为服务器,也可作为客户机。 使用UDP协议建立对等通信和通过TCP建立客户/服务器通信的方法略有不同,它不需要建立客户和服务器,而是建立对等通信。 3. Winsock属性: LocalPort:返回或者设置所用到的本端口;如果指定的是端口 0,就使用一个随机端口。 Protocol:返回或设置Winsock所用的协议是TCP或UDP。 State:返回控件的状态,用枚举类型来表示。 常数 SckClosed SckOp
17、en SckListening SckConnectionPending SckResolvingHos SckHostResolved SckConnecting 值 0 1 2 3 4 5 6 描述 缺省值,关闭 打开 侦听 连接挂起 识别主机 已识别主机 正在连接 5 基于TCP/IP协议的网络通讯设计 SckConnected 7 已连接 SckClosing 8 同级人员正在关闭连接 SckError 9 错误 表1 Winsock控件的State属性及其描述 4. Winsock方法: Listen:用于服务器程序,等待客户访问。 Connect:用于向远程主机发出连接请求 Acc
18、ept:用于接受一个连接请求 Senddata: 此方法用于发送数据 Getdata: 用来取得接收到的数据 格式:Winsock对象.getdata 变量 ,数据类型 ,最大长度 Close: 关闭当前连接 格式:Winsock对象.close 5.事件: DataArrival:新数据到达时出现;获取一个 GetData 调用中的全部数据。 ConnectionRequest:当远程计算机请求连接时接受连接请求。 SendComplete :在完成一个发送操作时出现 。 SendProgress :在发送数据期间出现 。 Close :当远程计算机关闭连接时出现。 6 基于TCP/IP协议
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 TcpIP 协议 网络通讯 设计
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-3385097.html