- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 统编版八年级下册历史期末专题训练:选择题(含答案).docx VIP
- 初二八年级下学期期末家长会PPT课件.ppt VIP
- 数据结构 期末考试试卷.doc VIP
- 学习强国深圳经济特区建立40周年题库及答案.docx VIP
- 云南师范大学2020-2021学年第1学期《数据结构》期末考试试卷(A卷)含标准答案.docx
- 从军行之四翻译及注释 从军行赏析王昌龄.pdf VIP
- 2025年广东省高考物理真题卷(含答案与解析).pdf VIP
- 四年级语文下册1-8单元达标检测卷(人教)附答案(好卷).docx
- 中国人寿财产保险股份有限公司道路危险货物承运人责任保险条款.pdf VIP
- 部编版小学语文1-6年级日积月累整合.doc VIP
文档评论(0)