【发布时间】:2017-08-31 22:15:07
【问题描述】:
我们正在用 Angular2 / Node with Express 和 Mongo + MySql 开发一个项目 它的应用程序非常大,但不需要任何功能,例如实时通知或聊天
应用程序具有简单的 CRUD 操作并获取大量数据,所以我的问题是
使用 socket.io 而不是简单的 http 调用它仍然很好/有好处吗?
据我了解 socket.io ,它只与服务器建立一次连接(握手),并且 在我们的例子中,每次我尝试调用 api 时它都会握手?
那么使用socket.io 进行CRUD 操作的普通应用程序有什么好处吗? 会节省时间吗? 有速度差异吗?
哪种方式更好实施?
我已经通过了:When to use socket.io and when to use ajax
但没有得到我想要的。
如果必须选择黑白简单的http调用和socket.io?哪一个更好 ?对于简单的 CRUD 操作,没有任何动态,不需要任何实时通知?在简单的情况下,哪个性能更好,速度更好?
如果有任何性能图表或按时间/握手/请求-响应的黑白比较会更好。
有人可以帮我解决这个问题吗? 提前致谢。
【问题讨论】:
-
AFAIK 如果您不打算进行跨域请求,一切都将在本地应用程序上,那么是的,socket.io 在性能方面更好。但正如那个答案所说,旧的/移动平台可能是使用 websockets 的问题。
-
@jfriend00,我没有你在回答中解释的那种系统,我的系统很简单,所以我想要回答。
-
这三个答案中都讨论了所有内容。这里没有绝对的。如果您不需要服务器推送并且没有从客户端到服务器执行大量请求,那么 Ajax 可能更容易实现服务器端并且性能不会有明显的不同。一般来说,除非你有有意义的理由使用 socket.io,否则你会使用 HTTP。你没有解释任何有意义的理由使用 socket.io。
-
您是否阅读了我提供给您的所有三个参考问题?你不明白他们呢?我在这个问题中没有看到任何新的东西,这些新问题已经在 stackoverflow 上可能有 15 个问题中讨论过了(并且我阅读了过去 4 年在这里发布的每个 webSocket/socket.io 问题)。