【问题标题】:What's the relation between WS and socket.io?WS和socket.io是什么关系?
【发布时间】:2012-05-08 20:29:36
【问题描述】:

我第一次安装了socket.io,最后它给了我这样的信息:

To install WS with blazing fast native extensions, use
<npm install ws --ws:native>

这是什么意思? WS 是 socket.io 的替代品吗?我用谷歌搜索,我无法弄清楚。或者它是 node.js 的替代品?还是我可以在 socket.io 和 node.js 旁边安装它?

我还假设该消息指的是ws

【问题讨论】:

  • WS(github.com/einaros/ws) 和 socket.io(github.com/learnboost/socket.io) 是实现 websocket impl 的两个不同的框架/库。它应该是 socket.io 的替代品,具体取决于您的要求。正如 Andrey 所提到的,socket.io 支持的传输方法很少。 WS lib 不是节点 JS 的替代品,是的,它可以与节点 JS 一起工作。但是,如果您只关注基于 Web 套接字的通信,则不必在同一个应用程序中包含 socket.io 和 ws。

标签: node.js socket.io


【解决方案1】:

Websockets(或 ws)是 socket.io 的一种可能的传输方式(其他是 flashsockethtmlfilexhr-polling and jsonp-polling

socket.io 基本上是一个包装器,可帮助您透明地使用浏览器中可用的最佳传输方式

【讨论】:

  • 好答案(可能接受的答案)。可以在socket.io/#browser-support 找到列表或传输
  • 谢谢。但是,消息是什么意思?为什么 socket.io 在安装结束时会给出这样的消息?他们是否建议我删除 socket.io 并安装 ws?
  • -1 as 问题中的“ws”不是指 Websockets - 它指的是名为 ws 的 npm 库。
【解决方案2】:

显然wssocket.io-client的依赖,也就是socket.io的依赖。如果你想为ws构建原生扩展,你可以将--ws:native传递给npm

您会看到该消息,因为ws 在未与--ws:native 一起安装时会回显它。您可以放心地忽略该消息,或者在安装socket.io 时尝试将--ws:native 传递给npm

AFAICT,socket.io-client 仅使用它从 node.js 连接到 socket.io 服务器——即仅用于测试目的。因此,是否使用本机扩展编译它真的无关紧要。

【讨论】:

    猜你喜欢
    • 2016-06-14
    • 2022-01-02
    • 2014-03-14
    • 2013-06-14
    • 2018-02-16
    • 2020-05-04
    • 2020-01-08
    • 2015-01-13
    • 2017-11-06
    相关资源
    最近更新 更多