Dou*_*kem 11 xna real-time network-protocols protocol-buffers
我一直在寻找一个好的通用二进制网络协议定义框架,以提供一种以多种语言编写实时游戏服务器和客户端(想想魔兽世界或Quake III)的方法(例如Java后端服务器和iPhone前端用Objective-C和Cocoa编写的客户端).
我想支持Windows上的Java Flash客户端,iPhone客户端和C#客户端(以及XBOX上的XNA客户端).
我正在寻找一种通过TCP/IP或UDP套接字流连接有效发送/接收消息的方法.我不是在寻找可以通过HTTP Web服务发送的东西,比如JSON或XML编组的对象.虽然Hessian的二进制Web服务协议是一个非常有趣的解决方案
我想要一种网络协议格式和客户端/服务器基本实现,它允许客户端连接到服务器并以定义的协议发送任何消息,并接收协议中的任何消息,而不必绑定到某种RPC端点.我希望我的协议传入和传出的任何消息的通用流.这样我就可以支持诸如服务器每隔100毫秒向所有客户端发送游戏中各种实体的位置.
Dou*_*kem 14
我发现的网络协议框架如下:
更新:OculusVR现在收购了RakNet及其Free/OpenSource.你可以在Github上找到它
Raknet提供了一个很好的面向游戏/模拟的多人游戏库.
Apache Thrift和Google的协议缓冲区似乎是在游戏网络协议客户端/服务器架构中使用的最简单方法.
如果你想使用某种类型的服务器推送技术(如COMET)创建一个带有Java或Flash客户端的基于Web的游戏服务器,Hessian似乎非常适合.Hessian可能会提供一种非常有趣的方式来支持网络上的实时游戏,甚至能够在谷歌的App引擎或亚马逊的EC2等VM网络解决方案上托管它们.
关于为游戏和其他用途使用各种协议定义框架有一些讨论: