RESTful:双向沟通

时间:2010-09-14 07:07:07

标签: rest client-server

我想知道是否可以拥有RESTful Web服务以及与客户端和服务器的双向通信。

在我的情况下,服务器上的状态可以更改,因此服务器应该向客户端发送消息以更新自己。也许这完全违背了RESTful的想法。

AJAX可以帮我解决这个问题吗?

谢谢!

3 个答案:

答案 0 :(得分:4)

在标准的http范例下不太可能,但请查看Comet以获取有关该问题的可能解决方法,并且总是进行轮询。

答案 1 :(得分:0)

您所使用的功能由web sockets的概念处理,但它们还不是主流。

要使您的解决方案保持RESTful,您可以让客户轮询您的服务。您可以优化任意数量的方法,例如实现允许客户端查询给定时间戳的更改的特殊方法,然后客户端只跟踪上次检查的时间。

答案 2 :(得分:0)

你应该看看BOSH。 BOSH与Comet类似,但更具体,我认为有更可靠的实现。

但是,如果要使用标准REST服务,则在同时为多个用户提供服务时会遇到问题。您应该考虑使用非阻塞IO的其他实现 关于可能还有更多问题。当然,现在也有,但如果你需要服务旧的浏览器,你就不能依赖它们。