6

我已经搜索了一些时间研究几种技术来构建一个简单的即时消息系统的Ruby应用程序的红宝石。这看起来非常复杂,因为我还没有发现任何跨浏览器或任何概念的实现。即时通讯实现的轨道?

看着:

  • XMPP客户端(也就是在github糖果只支持群聊)
  • XMPP服务器&铁轨(很多的麻烦没有很好的整合)
  • 剑圣(无1-1 ,不支持Internet Explorer使用网络套接字的原因)
  • ryan bates的私人酒吧(似乎能够做到这一点,但作为红宝石新手,几乎没有文档就可以得到这个数字)

任何人都可以建议我钢轨一个即时通讯:

  • 是跨浏览器
  • 具有良好的文档,例如实施
  • 即时通讯软件,其中用户A会谈到用户B和用户B与用户A对话

我真的不知道我该如何实现这一点,任何人都可以给我建议关于如何解决这个问题? thx

+0

没有一个。 – Eric 2012-02-21 19:34:11

回答

5

正如Eric所说,没有一个。消息传递是一件非常困难的事情。

现在我正在使用Pubnub,这是一项外部服务。 Rails集成方面没有很好的文档,所以你只需要尝试自己做。

关于更好的记录方面,有Faye,但这是一个内部过程,需要运行两个实例(一个响应Faye请求,一个运行您的应用程序)。这对Heroku来说有点复杂(而且更昂贵),所以我只是坚持Pubnub。

根据Faye文档,查看此Railscast,为了保护隐私,请查看Private Pub

编辑:,如果你认为私人酒吧是很难集成..好,不小气,但也许你应该尝试更多地了解Rails和Java脚本,你深入到这个问题之前,因为它不是一个简单的事情(即使它看起来应该是)

编辑2:此外,对于王菲,this tutorial might help you out.

你可能会更好使用Node.js的这种类型的东西。正在进行

+0

Privatepub本身并不难以设置问题是在管理渠道,基本上有2人的房间名称和subscribe_to他们可以工作,也许我应该更深入地挖掘thx。 – Rubytastic 2012-02-21 20:06:27

+0

hi @varatis谢谢你的回答,它可以帮助我很多:)只有一个问题:你的意思是需要两个实例来运行?我没有很多的服务器设置经验谢谢 – medBo 2013-10-12 15:37:01

+0

@medBo基本上,想想你运行'rails server'时。当你通常这样做时,你的计算机完全向该服务器放弃一个执行线程 - 当该进程在前台运行时,不能在该终端窗口中启动任何其他内容。 Heroku同样不允许你启动另一个进程来运行Faye,或者做后台工作,除非你付费。 – varatis 2013-10-12 20:54:06

1

工作: 全Facebook的克隆

https://github.com/rubytastic/im 

请贡献代码是是固定的,还是古怪!