Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
寻找用Ruby编写的XMPP服务器库_Ruby_Xmpp - Fatal编程技术网

寻找用Ruby编写的XMPP服务器库

寻找用Ruby编写的XMPP服务器库,ruby,xmpp,Ruby,Xmpp,我正在构建一个用Ruby编写的基于web的聊天应用程序。我想提供使用XMPP客户端连接到此聊天服务器的功能。因此,我正在寻找一个库,它将处理一个真正的XMPP服务器,我可以将它与我现有的Ruby代码绑定(或者在两者之间使用Redis之类的东西)。但是,我很难找到服务器库(尽管我可以找到许多库,用作使用服务器或与服务器交互的客户端)。我也不是很有经验的XMPP开始,所以我可能会要求错误的事情。您知道我可以使用的XMPP服务器库吗?试试看 例如-连接和身份验证: require "xmpp4r"

我正在构建一个用Ruby编写的基于web的聊天应用程序。我想提供使用XMPP客户端连接到此聊天服务器的功能。因此,我正在寻找一个库,它将处理一个真正的XMPP服务器,我可以将它与我现有的Ruby代码绑定(或者在两者之间使用Redis之类的东西)。但是,我很难找到服务器库(尽管我可以找到许多库,用作使用服务器或与服务器交互的客户端)。我也不是很有经验的XMPP开始,所以我可能会要求错误的事情。您知道我可以使用的XMPP服务器库吗?

试试看

例如-连接和身份验证:

require "xmpp4r"

robot = Jabber::Client::new(Jabber::JID::new("sample@xmpp.ru"))
robot.connect
robot.auth("password")
以及发送信息:

message = Jabber::Message::new("recipient@xmpp.ru", "Hi there!")
message.set_type(:chat)

robot.send message
但是这个库在Windows下有点不稳定,但在Linux下非常好

Ruby下也有使用XMPP4R的XMPP服务器实现-

编辑

也许这就是你想要的。看起来像是适合服务器使用的库-


在XMPP官方页面上找到它-

XMPP服务器库通常没有多大意义,因为XMPP服务器(例如HTTP服务器)作为独立的长期进程运行。您通常不会将它们嵌入到应用程序中

XMPP甚至比HTTP更进一步——有HTTP服务器库允许您监听端口、等待请求和发送响应。XMPP在这方面完全不同——XMPP会话是长期的,需要持续关注。使用XMPP服务器库,您的应用程序将花费大部分时间在该库中——在这一点上,为什么不如运行单独的进程好呢

我知道这是一个诱人的想法,但在开发了一个XMPP服务器并考虑到这一点(有人在您之前要求过它)后,我认为它没有什么意义(即使在技术上是可能的)


许多XMPP服务器都允许定制插件与其他系统集成,如果您需要的话(例如),Ruby中也有一些服务器。

如果我不清楚,很抱歉。我没有尝试以bot方式连接到现有服务器。我试图成为服务器。但也许我误解了你的答案。你能详细说明一下吗?我只在客户端使用XMPP4R。但正如我所怀疑的,它不仅适用于客户端。通常会说明库是否仅限于客户端。另外,最后一个链接指出了使用XMPP4R的Ruby xmpp服务器实现。但该项目似乎处于非常早期的阶段。现在回购协议没有什么用处。你可以试着通过邮件与作者联系。我想你比我解释得更清楚。我想运行一个独立的XMPP服务器(不是在我的应用程序中嵌入一个),并向XMPP服务器添加定制/扩展,以便在两者之间传递消息。藤蔓看起来和我想做的很接近,所以我会去看看。