【发布时间】:2010-10-22 17:18:03
【问题描述】:
我一直在寻找一个好的通用二进制网络协议定义框架,以提供一种以多种语言(例如 Java 后端服务器和 iPhone)编写实时游戏服务器和客户端(想想魔兽世界或雷神之锤 III)的方法用 Objective-C 和 Cocoa 编写的前端客户端)。
我想支持 Windows 上的 Java Flash 客户端、iPhone 客户端和 C# 客户端(以及 XBOX 上的 XNA 客户端)。
我正在寻找一种通过 TCP/IP 或 UDP 套接字流连接有效发送/接收消息的方法。我不是在寻找可以通过 HTTP Web 服务发送的东西,比如 JSON 或 XML 编组对象。虽然 Hessian 的二进制 web 服务协议是一个非常有趣的解决方案
我想要一种网络协议格式和客户端/服务器基本实现,它允许客户端连接到服务器并在定义的协议中发送任何消息并在协议中接收任何消息,而无需绑定到某种 RPC 端点.我想要在我的协议传入和传出的任何消息的通用流。这样我就可以支持服务器每 100 毫秒向所有客户端发送游戏中各种实体的位置之类的东西。
【问题讨论】:
-
这句话是什么意思:“无需绑定到某种 RPC 端点”
-
通过“不必绑定到某种 RPC 端点”,我的意思是在服务器端我不希望它只能接受 RPC 请求我希望它能够启动向客户端反向请求,并接收消息。基本上我不想要一个 RPC 客户端/服务器设置,我想要一个客户端消息流和服务器消息流,其中消息在一些 IDL 中定义,可以为多种语言的客户端/服务器生成代码绑定。
-
我明白你现在在说什么。感谢您的澄清。
-
前段时间,我在 SO 上问了一个非常相关的问题,您可能想查看进一步的指示:stackoverflow.com/questions/644834/… 用于实验性协议设计/开发?
标签: xna network-protocols real-time protocol-buffers