网络游戏平台网络通讯模块的设计和分析.pdfVIP

网络游戏平台网络通讯模块的设计和分析.pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络游戏平台网络通讯模块的设计与分析 严春华 河海大学计算机及信息工程学院,南京 (210098) E-mail:yanchunhua321@ 摘 要:通讯是网络游戏平台中的重要环节,文中提出了一种消息传输和处理模型。该模型 利用字典/散列表来存储各种消息及其对应的消息处理函数,Socket 套接字实现发送端和接 收端的通信,定义消息包基类,通过成员函数对消息封包、解包。该模型为一般网络游戏平 台通讯模块设计提供了有效的方法。 关键词:套接字;字典;消息包 1.引言 近年来,网络游戏快速发展,越来越受到人们的关注,已经成为人们生活的一个重要组 成部分,网络游戏在我国已经形成了一个巨大的产业。然而,我国对网络游戏的研究尚且比 较欠缺,国内游戏商中拥有自主知识产权的互联网游戏并不多。据悉,目前中国大陆市场上 70% 的网络游戏都是韩国产品,韩国从我国游戏市场上瓜分到的营业额就占到我国网络游戏 全部营业额的30% 以上。而网络游戏平台的研究领域中,通信问题占了相当大的比重,可以 认为通信问题是网络游戏的根本问题。本文将从通信协议、通信手段、数据包的封装与解析 这些方面来介绍一整套网络游戏平台的通信机制。 2 .通信协议分析 通常网络连接存在两种连接方式:TCP (Transmission Control Protocol,传输控制协议) 和UDP(User Data Protocol ,用户数据报协议) [1] 。TCP 是基于连接的,在正式发送数据之前 必须和对方建立可靠的连接。它能为应用程序提供可靠的连接,使一台计算机发出的字节流 无差错地发往网络上的其它计算机上。由于 TCP 协议要首先和对方建立连接,所以会有一 些额外的通信量,增加了网络带宽的负担。TCP 协议适用于对通信可靠性要求比较高的系 统。而面向非连接的UDP 协议则不需要在通信前与对方先建立连接,直接发送数据包,有 时会丢包。UDP 适用于对可靠性要求不高的应用环境。目前的QQ 聊天系统就是采用的UDP 协议,所以有时会出现收不到消息的情况。 网络游戏对数据传送可靠性要求比较高,信息传送是否及时,将会直接影响玩家的战斗 结果。在玩家进行网络游戏过程中,所有和游戏有关的数据,我们均采用TCP 协议来传送。 3 .Socket套接字通信机制 套接字(socket )是网络通信的基本单元,它使用TCP 来通信,能提供网络中不同主机 间通信的端点[2] 。Java 中提供两种类型的 TCP 套接字:一类是服务器端套接字 [3] 。ServerSocket 类在客户端连接之前不 (ServerSocket),另一类是客户端套接字(Socket) 做任何事情,一直处于监听状态。 在本实例中,我们运行服务器端程序,首先在服务器端创建serversocket 对象,它在客 户端连接之前不做任何事情,一直处于监听状态;运行客户端程序,在客户端创建 socket 对象,并通过 IP 地址和服务器所提供的端口号来访问服务器,向服务器发出连接请求。服 务器在接收到客户端发出的连接请求后,在服务器端为之创建一个客户端线程,并将连接成 -1- 功的信息反馈给客户端。客户端与服务器连接成功后,就会得到一个 InputStream 和 OutputStream 流,这样客户端和服务器端就可以进行面向连接的可靠的通信。 下面是实现客户端与服务器端通信的关键代码: ServerSocket server=new ServerSocket(端口号) ;//在服务器端创建服务器端套接字 socket = new Socket(IP 地址, 端口号);//在客户端创建客户端套接字 Thread tt=n

文档评论(0)

youyang99 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档