我想知道是否可以拥有RESTful Web服务以及与客户端和服务器的双向通信。
在我的情况下,服务器上的状态可以更改,因此服务器应该向客户端发送消息以更新自己。也许这完全违背了RESTful的想法。
AJAX可以帮我解决这个问题吗?
谢谢!
答案 0 :(得分:4)
在标准的http范例下不太可能,但请查看Comet以获取有关该问题的可能解决方法,并且总是进行轮询。
答案 1 :(得分:0)
您所使用的功能由web sockets的概念处理,但它们还不是主流。
要使您的解决方案保持RESTful,您可以让客户轮询您的服务。您可以优化任意数量的方法,例如实现允许客户端查询给定时间戳的更改的特殊方法,然后客户端只跟踪上次检查的时间。
答案 2 :(得分:0)
你应该看看BOSH。 BOSH与Comet类似,但更具体,我认为有更可靠的实现。
但是,如果要使用标准REST服务,则在同时为多个用户提供服务时会遇到问题。您应该考虑使用非阻塞IO的其他实现 关于bosh可能还有更多问题。当然,现在也有websockets,但如果你需要服务旧的浏览器,你就不能依赖它们。