【问题标题】:How to do long polling from iPhone application?如何从 iPhone 应用程序进行长轮询?
【发布时间】:2010-04-06 06:02:39
【问题描述】:

我想创建一个 iPhone 聊天应用程序,但我没有任何套接字编程经验,所以请你帮我理解如何从 iPhone 应用程序进行长轮询?

NSURLConnection 也可以用于此目的还是我们需要使用一些低级 API?

是否有任何可用的库?

【问题讨论】:

    标签: iphone chat nsurlconnection


    【解决方案1】:

    查看CocoaAsyncSocket。

    【讨论】:

    • @shaggy 谢谢...我已经这样做了,但是还有其他方法吗?或者它是唯一的库。
    • CocoaAsyncSocket 使用低级 CFStream 框架来处理它的业务。您总是可以自己重新实现他们使用 CFStream 所做的事情,或者如果您真的愿意,甚至可以使用 CFSocket。或者您可以一直使用 BSD 套接字。但是如果你在 Cocoa 中为 iPhone 做套接字编程,你应该从 CocoaAsyncSocket 开始。
    【解决方案2】:

    长轮询适用于无法打开持久连接的 javascript 等语言。您仍然可以使用 NSURLConnection 之类的东西进行长轮询,但 CFStreamCreatePairWithSocketToHost 或类似的东西会更好地为您提供服务,以打开一个完整的双向套接字。

    长轮询基本上是一种已成为流行语的 hack。

    【讨论】:

    • 感谢您的澄清.....但是您认为一般来说制作聊天应用程序的方法应该是什么。这对我在这个方向上取得进展非常有帮助。
    • 聊天实际上更多是关于服务器而不是客户端。如果您选择像 jabber 这样的标准聊天服务器,那么可能有一个适用于 iPhone 的开源客户端实现。我没用过,所以我会听从 Shaggy 的建议或谷歌你正在使用的特定聊天协议。
    猜你喜欢
    • 1970-01-01
    • 2015-11-24
    • 2012-01-03
    • 2011-06-06
    • 1970-01-01
    • 2017-05-15
    • 2018-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多