繁体   English   中英

超简单的XMPP服务器或简单的自定义Openfire组件的建议

[英]Super simple XMPP server or advice for a simple custom Openfire component

我需要一台服务器来发送和接收来自运行我正在编写的多人游戏的Android客户端的XMPP消息。 我之所以选择XMPP是因为我不想长时间轮询,而套接字可能会成为蜂窝网络的问题(运营商可能阻止它们)。

我一直在看OpenFire听起来很神奇,我不需要管理面板语音聊天,聊天室等等。它似乎非常重量级,面向企业的聊天解决方案,我只需要匹配玩家并传递他们的动作在最后记录得分。 是否有一个简化的OpenFire版本,所以我可以注册一个组件,它将服务所有请求? 关于使用openfire进行适应,我找不到添加自定义组件来执行类似任务的明确示例。

我需要的是一个库或现有的简单服务器,我可以运行并注册我的自定义消息监听器。 我只需要能够为任何进入的请求提供服务并做出适当的响应。 我希望我不必编写线程管理,因为这个问题对于典型的聊天服务器来说很常见,但我确实需要编写代码来解释和响应发送的消息。

我希望这是有道理的,任何编写过这样一段服务器代码的人都会喜欢这个例子。 对于那些没有尝试过,但想知道如何开始的人,请加入! 越详细越好。

提前致谢,

GAV

您几乎可以使用任何XMPP服务器; 我知道Openfire可以工作,或者我最近也使用了Prosody ,它非常轻巧,易于安装(在Linux上)。

您想要的是一个独立的组件,它使用XMPP组件协议与您的XMPP服务器通信(从而可以访问您的用户)。 这就是游戏智能的所在。

有关更多详细信息,请参阅我之前对非常相似问题的回答:
XMPP C#Interaction

寻找信息的另一个好地方是杰克·莫菲特Jack Moffitt )创作的任何东西,他创造了chesspark.com(因为国际象棋网购买了所以不可用) - 一个匹配国际象棋用户和使用XMPP控制游戏的网站。

以博客文章开头:
http://metajack.im/2008/11/21/chesspark_design_details_part_1_why_xmpp/

如果您想要一个快速,轻量级的XMPP服务器,请尝试使用Prosody 然而,其他答案是正确的,因为在将功能直接添加到服务器之前,您首先要查看PubSub ,然后编写自己的组件

如果OpenFire(或其他XMPP服务器)支持pubsub,您应该能够完成此任务。 不确定您的需求的细节,但我认为个人事件协议或其超集PubSub应该能够处理您的用例。 OpenFire确实支持这两种协议。

如果这些不支持您的用例,那么自定义插件很容易编写。

至于重量级或轻量级,除非你有一些特别小的环境来运行服务器,我怀疑它会很重要。 您根本不会使用现有的许多功能。

我已经使用XMPP pubsub为客户端相互通信操作,以便用户可以获得组中正在进行的同事的实时更新。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM