【问题标题】:How to send websocket message via already established Websocket connection?如何通过已经建立的 Websocket 连接发送 websocket 消息?
【发布时间】:2019-12-23 16:01:28
【问题描述】:

我正在使用 Firefox 与简单的 websocket 服务器进行交互。打开网页后,Firefox 会与 websocket 服务器建立连接。

在这种情况下,我希望能够使用这个打开的连接发送消息。我该怎么做?我可以使用 Firefox 控制台并重新使用 websocket 对象向服务器发送消息吗?

默认情况下,我需要执行以下操作:

let socket = new WebSocket("wss://javascript.info/article/websocket/demo/hello");

socket.onopen = function(e) {
  alert("[open] Connection established");
  alert("Sending to server");
  socket.send("My name is John");
};

但上面的代码只会创建新的连接。我的目标是重用已经建立的连接来发送消息。有什么建议吗?

【问题讨论】:

    标签: javascript firefox websocket


    【解决方案1】:

    如果您可以访问套接字,则可以发送任意数量的消息:

    let socket = new WebSocket("wss://javascript.info/article/websocket/demo/hello");
    
    socket.onopen = function(e) {
        console.log("[open] Connection established");
        console.log("Sending to server");
        socket.send("My name is John");
    };
    
    document.querySelector('button').addEventListener('click', e => {
        console.log("Sending to server");
        socket.send('I use the already established connection');
    });
    <button>click me to send a message</button>

    【讨论】:

    • 这里的问题是:我不想创建新的 websocket 连接。连接到网页后,Websocket 会自动创建,我想重用这个来发送消息,而不是让 2 个 websocket 处于活动状态。
    • 你有参考现有的websocket吗?
    • 如果您不介意,您需要向我们提供更多信息
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-25
    • 2017-09-30
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 2021-07-29
    • 1970-01-01
    相关资源
    最近更新 更多