Express vs Socket.io
我刚刚开始使用socket.io,对express有一些经验。我知道socket.io具有双向通信,而express是唯一的客户端到服务器的通信 这让我想,为什么我们不在不同的名称空间中使用socket.io,而不使用express呢 在哪些情况下我应该使用socket vs expressExpress vs Socket.io,express,socket.io,Express,Socket.io,我刚刚开始使用socket.io,对express有一些经验。我知道socket.io具有双向通信,而express是唯一的客户端到服务器的通信 这让我想,为什么我们不在不同的名称空间中使用socket.io,而不使用express呢 在哪些情况下我应该使用socket vs express 在我需要双向通信的情况下,是否建议使用express创建客户端->服务器,然后使用socket创建服务器->客户端?首先使用express和socket.io是完全不同的事情。Express是一个成熟的we
在我需要双向通信的情况下,是否建议使用express创建客户端->服务器,然后使用socket创建服务器->客户端?首先使用express和socket.io是完全不同的事情。Express是一个成熟的web服务器框架。您可以使用它来设置网站、从浏览器发送http请求、发送API的http请求等 io是位于webSocket协议之上的通信层,webSocket协议使用http服务器建立其初始连接。虽然socket.io和Express之间有一点重叠,但它们之间的差异比重叠的要大得多 例如,如果您正在设置一个网站,那么不能使用socket.io来设置,您可以使用类似Express的东西 现在,如果您有特定的编程需要在任意客户机和服务器之间通信,那么您有无数的选择。如果客户端位于浏览器中,并且编程接口来自浏览器中的Javascript,那么您的选择就更少了。 在浏览器中,通过Express使用http ajax请求是一种选择。设置socket.io连接并定义自己的消息是另一种选择 从浏览器Javascript选择socket.io而不是Ajax调用Express的原因:
谢谢您提供的信息和参考资料。假设我正在构建一个twitter克隆,它具有用户之间聊天的功能。我应该在登录时建立1个套接字连接,还是仅在用户打开聊天室时建立连接,并在用户关闭聊天室时关闭连接?@pumpier-出于服务器可扩展性的原因,您可能只会在用户参与聊天会话时创建socket.io连接。通常,如果空闲用户不使用任何服务器资源,这是最好的。实时通知怎么样?我是否必须始终保持socket.io连接可用?如果您希望将数据推送到浏览器客户端以获得实时通知,则需要使用webSocket、socket.io(构建在webSocket之上)或服务器端事件。无论您使用哪种方式进行实时通知,当您想要接收服务器通知时,都必须连续地从客户端连接到服务器。