论文部分内容阅读
随着计算机科学技术和网络通信技术的发展,电子竞技产业逐渐形成规模。早期电竞游戏的局域网娱乐模式已经不能满足广大电竞玩家的需求。在这样的背景下,电子竞技对战平台应运而生。电子竞技对战平台的研究与开发已有几年历史,它是为Internet用户提供多人电竞游戏联机服务,让在互联网的游戏玩家如同在局域网中一样的在Internet上进行游戏。电子竞技对战平台通过多种技术将互联网上远隔千里的玩家紧紧的联系到一起,并且还提供给用户实时的交流与沟通。电子竞技对战平台由于其功能特点表现出了不同于其他网络游戏和网络应用程序的特殊性。电子竞技对战平台的实现本质上就是一个基于IP的虚拟局域网的实现。电子竞技对战平台用户在使用平台进行游戏前必须先注册并登陆平台,这实际上就是在建立一个客户端与登录服务器端之间的TCP连接。用户从游戏列表中选择某一游戏,并设置好相应的游戏参数后,就可以进入游戏房间了。若某一用户在游戏房间里创建了局域网电子竞技游戏,服务器接收到该消息后通过UDP协议传输方式向所有该房间的其他用户发送此消息。其他用户就可以在该房间的游戏列表中看到此游戏,并可以选择是否加入到该游戏中去。游戏开始也就是建立了一个用户数与游戏参与玩家数相同的小型虚拟局域网,此时游戏数据传输协议又由UDP协议转为TCP协议,以保证游戏数据传输的稳定性和安全性。虽然通过平台服务器和游戏服务器,用户之间建立了间接性TCP连接,但是电子竞技游戏的游戏数据包并不能直接在这个虚拟局域网链路上直接广播。客户端程序往游戏中注入调用了Detours组件的DLL。该DLL钩取游戏数据包发送给游戏服务器,服务器对游戏数据包进行分析,丢弃不合法或者无用数据后转发给该游戏中的其他玩家。这样就实现了电子竞技游戏的Internet联机功能。电子竞技对战平台服务器端也是通过客户端往游戏DLL中注入自编DLL的方式来实现发送游戏内通告和消息给游戏中的用户的。B/S模式是无法注入DLL的,这也是电子竞技对战平台只能采用C/S模式实现的根本原因。