2

我想创建一个与 Cometd 服务器对话的程序,以允许将数据推送到应用程序。

我已经使用 AJAX 在 Web 端完成了此操作,但我有点不确定使用 Cocoa 执行此操作的最佳方法。

我可以使用 NSURLRequest 和 NSURLConnection 建立标准连接,但是如何保持此连接处于活动状态,以便在需要时发送数据并在需要时获取推送的信息。

我什至会以正确的方式解决这个问题吗?

提前致谢

4

1 回答 1

2

在推送通知方面,如果 http 服务器没有关闭关闭连接,则 NSURLConnection 将保持打开状态,您将继续获取数据。请注意,如果您正在设计类似的东西,则必须使用异步 NSURLConnection 方法,因为在服务器关闭连接之前,同步连接不会结束。

至于发送更多数据,它确实不是为了这样做而设计的。如果您想在发送后在单个 http 请求中推送更多数据(这对我来说似乎是一个非常糟糕的主意),您将不得不滚动您的 http 堆栈以找到一些您可以使用的开源组件。

请注意,NSURLConnection 将使用它认为合适的保持活动状态和其他东西,因此如果您在应用程序中启动到同一主机的多个逻辑连接,它们最终可能会使用相同的保持活动连接等连接到网络上。

于 2008-11-11T22:12:29.750 回答