【问题标题】:multiple browser instances with websocket capabilities in node?节点中具有 websocket 功能的多个浏览器实例?
【发布时间】:2021-12-09 23:27:10
【问题描述】:

假设我正在构建一个社交应用程序。我想在没有用户界面(全部通过节点)的情况下登录多个帐户(每个浏览器实例一个),并通过调用所有相应的端点来登录并开始聊天。

重要的部分是测试用户何时关闭选项卡或注销或离开组,因此 websocket 的连接关闭。

【问题讨论】:

    标签: javascript node.js browser websocket headless


    【解决方案1】:

    如果我理解正确的话。 您希望在客户端连接或断开连接时发生服务器端事件,无需任何 html、css .... 或任何其他用户界面。 您可以在节点中这样做:

    对于您使用的连接:

    Server.on("connection,function(ws){some stuff...})

    连接时调用的函数会默认获取连接的websocket作为参数。我在这里只使用了一个 lambda 函数,你也可以调用一个函数,然后将 websocket 作为参数。

    对于断开连接,您在 Server.on 函数中放置一个函数来监控客户端何时断开连接。像这样:

    Server.on("connection,function(ws){
      ws.onclose = function (ws) { 
      some stuff...
        }
    })

    您可以再次将 lambda 函数替换为另一个函数。 在我的情况下,服务器等于这个:

    const wsserver = require("ws").Server
    const server = new wsserver({ port: someport })

    但它可能会有所不同。 除此之外,您需要做的就是连接客户端。 我是这样做的,但它也可能会有所不同。

    const ws = new WebSocket("ws://localhost:someport");

    我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-10-04
      • 1970-01-01
      • 1970-01-01
      • 2016-09-21
      • 2022-10-14
      • 2011-07-14
      • 2016-02-04
      相关资源
      最近更新 更多