背景:我正在使用 NodeJS + Express 构建一个 Web 应用程序。客户端和服务器之间的大部分通信都是 REST(GET 和 POST)调用。我通常会使用https://developers.google.com/appengine/articles/rpc中提到的 AJAX XMLHttpRequest 。而且我似乎不明白如何让我的 RESTful 服务也用于 Socket.io。
我的问题是
- 我应该在哪些场景下使用 Socket.io 而不是 AJAX RPC?
- 有没有一种直接的方法可以让它们一起工作。至少对于 Expressjs 风格的 REST。
- 在非实时 Web 应用程序上使用 socket.io(如果使用 websockets -- TCP 层)是否有真正的好处。就像一个 tinyurl 站点(用户发布查询和服务器响应并忘记的地方)。
我也在想一个棘手但无稽之谈的想法。如果我对来自客户端的请求使用 RESTful 并从服务器端关闭连接并执行socket.emit()
.
提前致谢。