我正在编写一组Web服务,其中一个需要实现服务器推送。
客户端将是本机Objective-C。我希望它尽可能简单,快速和轻量级。传输的数据将是JSON。是否可以在不使用消息代理的情况下执行此操作?
答案 0 :(得分:1)
有一种称为COMET的HTTP技术,其中客户端会旋转一个线程,该线程对HTTP服务器发出可能非常长期的请求。每当服务器想要向客户端发送内容时,它都会向此请求发送响应。客户端处理此响应并立即向服务器发出另一个长期请求。通过这种方式,服务器可以在客户端的主执行线程中发生其他事情时发送信息。服务器发送的信息可以是您喜欢的任何格式。 (事实上,对于使用Javascript库进行COMET的Web浏览器中的客户端,JSON是完美的。)
@DeDeDevDev:COMET通常与启用Javascript的浏览器相关联,但我认为不一定如此。您可以查看iStreamLight,它是连接到COMET服务器的iPhone的Objective-C客户端。它也在this interview与作者讨论过。