【问题标题】:Is it possible to connect to Node.js's net moudle from browser?是否可以从浏览器连接到 Node.js 网络模块?
【发布时间】:2020-05-11 00:37:58
【问题描述】:

我想用 Node.js 制作 TCP 服务器,然后从没有 http 、 express 和 socket.io moudles 的浏览器连接它。类似于我在 java 或 c# 中所做的事情,但这次来自浏览器。

【问题讨论】:

    标签: node.js websocket tcp socket.io tcpclient


    【解决方案1】:

    浏览器不包含在常规网页中使用 Javascript 与某些服务器建立直接 TCP 套接字连接的功能。

    浏览器 Javascript 可以访问以下网络连接功能:

    1. 向外部服务器发出 http/https 请求。
    2. 与外部服务器建立 webSocket 连接。
    3. 使用 webRTC 与其他计算机通信

    在所有这些情况下,您必须使用浏览器内置的库来启动这些特定协议的连接。

    浏览器中没有内置用于普通 TCP 套接字连接的功能。 webSocket(只能连接到 webSocket 服务器)可能是最接近的。

    【讨论】:

    • 我可以通过 web socket 连接到 tcp 服务器吗?
    • @EsmailJamshidiasl - 不。正如我的回答所说,webSocket 客户端只能连接到 webSocket 服务器。它是一个完整的连接方案(内置安全性)和数据格式协议。
    • 我找到了github.com/websockets/ws。我需要这个。谢谢。 http 请求是否像 tcp 或 websocket 一样快?
    • @EsmailJamshidiasl - 如果您的通信是从客户端到服务器(客户端向服务器发送某些内容或客户端从服务器请求某些内容),那么 http 已对此进行了很好的优化,通常是您最简单的选择.浏览器中的fetch() 接口就是为此而构建的。如果您想要一个完整的双向通信路径,服务器可以随时发送客户端数据,那么您将需要一个持久的 webSocket 连接。但是,与每个活动客户端建立持续的 webSocket 连接会产生服务器端成本。
    • @EsmailJamshidiasl - 仅供参考,这是一个很好的关于在浏览器中使用 Javascript 进行网络的入门:hpbn.co/primer-on-browser-networking
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-07
    • 1970-01-01
    • 2020-11-06
    • 1970-01-01
    • 2018-01-23
    相关资源
    最近更新 更多