我正在设计一款游戏,玩家可以通过编程机器人参与编程竞赛。机器人可以用任何语言编程 - Java,Ruby,Python,C#。我正在寻找通过网络传输游戏数据的某种方式,或者游戏服务器可以通过某种方式与机器人交谈。什么是更好的选择呢?我应该使用XMPP还是其他形式的远程方法调用?
答案 0 :(得分:1)
您所描述的不是RMI问题,而是消息传递问题。我相信您可以使用多种解决方案,并且基于您对应用程序的有限了解,我会说XMPP就是其中之一。它与语言无关,并且在大多数支持良好的语言中都提供了库(和服务器)。
这是否是最好的解决方案,我不能说,但我认为这是一个可行的解决方案。它为您提供了从点到点传输,指向多点的选项,以及游戏服务器向所有客户广播的方式。
答案 1 :(得分:0)
如果您需要许多语言才能调用基于REST的Web服务,可能更容易使用。
答案 2 :(得分:0)
我总是发现重新发明轮子是乏味的。试着看看你是否可以使用OpenTNL。
答案 3 :(得分:-2)
许多远程处理基础架构的问题在于它们通常不能在框架之间移植。 虽然XMPP可能适合您 - 您可能会发现主要问题是由于数据中的所有标头/存在内容被发送而导致过多的数据穿过网络。此外,由于XMPP是基于XML的,因此任何二进制数据都必须作为Base64字符串发送。
更好的选择可能是更低级别的套接字接口 - 无论哪种方式都可以自由地进行位打包以减小数据的大小,这可能是有益的。