gpt4 book ai didi

javascript - 对大多数请求使用 socket.io 是不好的还是我应该只使用它来将数据推送到客户端?

转载 作者:行者123 更新时间:2023-11-29 22:17:23 26 4
gpt4 key购买 nike

替换 AJAX 路由(使用来自 jquery 的 $.Ajax 调用)是否不好,例如:

  • 获取/动物
  • 获取/animals/[id]
  • POST/动物

使用 socket.io 事件(事件绑定(bind)在客户端和服务器上,以便客户端可以有响应):

  • 发出(“动物:阅读”)
  • emit("animals:read", {id:asdasd})
  • emit("animals:write", animalData)

或者我应该“仅”使用 socket.io 将数据推送到客户端?

[编辑]如果我的 POST 路由不使用套接字 io,我可能会发现一个问题。问题是我不能轻松地使用客户端的套接字来广播数据:

服务器:

on("animals:write", function(data){ 
saveAnimal(req.data)
socket.broadcast(...)
emit("animals:write", writenAnimal)
})

对比

app.post(function(req,res){
saveAnimal(data)
// cant broadcast :(
res.send(201,writenAnimal)
})

我肯定会在其他一些请求中向客户端推送数据,因此所有客户端都至少有 1 个套接字。

最佳答案

恕我直言 socket.io 如果您希望为您的网站提供实时数据,则应使用。以 Stackoverflow 为例。它使用 websocket 实时更新您的分数并更新您的通知。

但是如果您真的想创建对 SEO 友好的应用程序(我的意思是支持 http 来为您的页面提供服务)并且更重要的是如果您意识到在套接字中管理 session 和权限的困难.io,我认为您会更喜欢将 AJAX 用于您的页面,将 socket.io 用于其他实时数据。

关于javascript - 对大多数请求使用 socket.io 是不好的还是我应该只使用它来将数据推送到客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14330644/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com