如何将 Juggernaut 聊天服务器(由 ruby​​ on rails 提供支持)与 iPhone/Android 应用程序集成以进行实时聊天?

Posted

技术标签:

【中文标题】如何将 Juggernaut 聊天服务器(由 ruby​​ on rails 提供支持)与 iPhone/Android 应用程序集成以进行实时聊天?【英文标题】:How to integrate Juggernaut chat server (Powered by ruby on rails) with iPhone/Android app for real time chat? 【发布时间】:2011-11-05 16:01:13 【问题描述】:

预览

我正在使用juggernaut chat server。我正在机器上运行 redis 和 juggernaut 服务器。我可以在我的本地网络中使用各种网络浏览器进行聊天。一切都很顺利。由于 juggernaut 是一个服务器驱动的聊天服务器,所以我对可扩展性非常确定。现在事情是这样的:--

有什么问题:

我也想要一个 iphone 原生应用程序,用户可以在其中登录并与他的朋友聊天。 现在我想知道的是如何推送 iphone 应用程序,因为主宰客户端注册需要 javascript 代码。 像这样:

          var jug = new Juggernaut;
      jug.subscribe("channel1", function(data)
        alert(data);
      );

基本上我如何将新通知推送到 Iphone 聊天窗口。因为我是网络开发人员,所以我对 iphone 不太了解。仍然从谷歌搜索等我开始知道一些可能的(可能是)方式:-

我们可以在 iphone 窗口中嵌入一个 url。这是一个好方法吗? 我们可以做的其他事情是使用UrbanAirship 类型的服务,我们可以进行推送通知。推送通知是否适用于聊天?我什至不知道。 第三个选项可以是轮询。 Iphone 聊天客户端不断点击我的 Rails 应用程序以获取新通知。但我认为这将是一个非常糟糕的方法。

还有哪些其他可能的解决方案?

任何 iPhone/android 开发人员都可以指导我该怎么做。我最终会聘请一位 Iphone 开发人员来完成所有的编码部分。但我想在脑海中有一个大图,这样我就可以提供所有事情的完整文档,并清楚地了解我想在写代码之前如何与他讨论事情。

PS:我正在寻找一种也适用于 android/nokia 设备的解决方案。因为稍后我也会为此开发一个应用程序。 基本上,最好有相同的解决方案。如果没有,那么至少应该有兼容性因素。

【问题讨论】:

【参考方案1】:

显然在 MobileSafari 4.2 (source) 中有 WebSocket 支持。您可能会编写一个使用嵌入式 UIWebView 的客户端来编组与 Juggernaut 服务器之间的事件,并通过 shouldOpenURL 和自定义处理程序将它们传送到您的应用程序。

您还可以查看 Luke Redpath 的 libPusher,了解如何通过 Pusher Web 服务与推送通信进行交互。

【讨论】:

Pusher 对我来说似乎太贵了,我正在亚马逊上建立自己的聊天服务器。剑圣似乎是最好的选择。我只需要在不使用推送器等的情况下在原生 Iphone/Android 应用上推送聊天。 版本 4.2.. 它是最新的版本.. 那么 facebook 聊天如何在 iPhone 上的以前版本的 ios 上工作? 可能是轮询,我不确定。你确信他们正在使用 Juggernaut 和/或 WebSockets?【参考方案2】:

查看这个库:https://github.com/fpotter/juggernaut-cocoa 它真的很容易使用。

【讨论】:

好的,感谢您的反馈。我对 *** 还很陌生。

以上是关于如何将 Juggernaut 聊天服务器(由 ruby​​ on rails 提供支持)与 iPhone/Android 应用程序集成以进行实时聊天?的主要内容,如果未能解决你的问题,请参考以下文章

在 Heroku 上运行聊天应用程序

从 Rails 监听 Juggernaut 事件

我想使用 Rails 建立一个聊天室,我应该使用 juggernaut 2 还是 cramp?

如何在生产模式下运行 redis 服务器和 juggernaut 服务器

Juggernaut:由Rust语言实现的试验性神经网络

Rails 3.1 + Juggernaut Instant Messenger 的工作示例?