【问题标题】:iOS messaging system (chat system) in app应用内的iOS消息系统(聊天系统)
【发布时间】:2013-02-02 21:53:42
【问题描述】:

所以我有我的 iOS 应用程序(它是一个社交网络应用程序),我想添加一个消息传递和聊天系统。我已经查找了执行此操作的方法,但没有找到一种我可以完全理解或实施的方法,因为大多数方法对于我想要的来说太复杂了。

我有一个“朋友列表”视图控制器,当触摸列表中的其中一个名称时,一个“消息”视图控制器(就像任何即时消息窗口一样)进入您可以与所选朋友聊天的位置。

我发现这样做的方法是 XMPP 或“TCP 连接”。我尝试理解 XMPP,但对于 XMPP,您需要“登录”等,而这将需要一个额外的 id 或一些会使事情复杂化的东西。我已经有了我的应用内用户 ID——我不希望第二个只是用于聊天。

第二种方法——建立一个 TCP 连接并通过该连接发送消息——我无法完全理解,也找不到它实现的示例。

【问题讨论】:

    标签: ios xmpp chat xmppframework


    【解决方案1】:

    简单聊天协议中最困难的部分是一种快速通知客户端已收到消息的方法。例如,要使用 REST 或 HTTP 执行此操作,需要客户端每隔几秒钟轮询一次服务器,如果您的应用需要扩展,这是低效且不切实际的。

    XMPP 无疑增加了额外的工作。您的客户端将需要与 XMPP 服务器建立单独的连接,并且您必须找到一种集成身份验证的方法。但是只要客户端打开了一个连接,它就会在消息到达的那一刻得到通知。

    虽然聊天与发布-订阅不同,但它们具有相同的设计挑战,即如何在收到消息时通知客户端,而无需客户端轮询。在研究发布-订阅应用程序的选择时,我遇到了helpful chart,它比较了 XMPP、RSS 和其他选项。同一个站点对polling 提供了很好的解释。同样,这不是关于聊天,但您仍然可以使用它来了解问题。

    正如您所提到的,另一个选项是保持活动状态的 TCP 连接,服务器可以在响应到达时放置响应。如果你愿意,你甚至可以通过 HTTP 做到这一点。我不知道有任何开箱即用的服务器。 (出于我的需要,我选择了 XMPP 和 XMPPFramework。)

    【讨论】:

    • 所以,经过几次询问后,我偶然发现了 Parse、Pusher 和 QuickBlox……这些都没有真正帮助我:(人们告诉我 XMPP 对我想要的来说太难了……我需要一个简单的 1to1 IM
    【解决方案2】:

    您可以查看此链接,其中使用了 XAMPP 框架...

    https://github.com/KanybekMomukeyev/FacebookChat

    【讨论】:

      猜你喜欢
      • 2020-01-16
      • 2021-02-05
      • 2017-09-01
      • 1970-01-01
      • 2022-10-26
      • 2020-12-29
      • 2018-01-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多