繁体   English   中英

在 node.js 中使用 websockets 发送消息

[英]Send a message using websockets in node.js

地狱0那里!

今天我尝试发送一条 websocket 消息。 我究竟做错了什么? 我评论了下面的代码,希望你们能理解我的目标......

// Import websocket
const websocket = require('ws');

// Create server
var socket = new websocket.Server({ port: 8080 })

// When client connects to websock server, reply with a hello world message
socket.on('connection', ws => {
    ws.send('{"message":"Hello world."}'); //This works.
});

function send_message(msg){
    ws.send(msg);
}

/* Calculate something, await for user interaction, etc... */

// When im done with all that, just send a message.
send_message('{"message":"please work"}'); // This does not work

我究竟做错了什么?

您需要跟踪连接。 你如何做到这一点取决于你

const websocket = require('ws');

const socket = new websocket.Server({ port: 8080 })

const connections = [];
socket.on('connection', ws => {
    connections.push(ws);
});

// send a new message to every connection once per second
setInterval(() => {
  const date = new Date();
  for (const ws of connections) {
    ws.send(`hello again: ${date}`);
  }
}, 1000);

当然,一个真正的应用程序可能会通过比一系列连接更复杂的东西来跟踪连接。 当它们断开连接等时,它还需要停止跟踪这些连接......

const socket = new WebSocket('server_url'); // Connection opened 
socket.addEventListener('message', function (event) { socket.send('send message'); });

我像这样使用 WebSocket 来发送消息。

我希望这将帮助您解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM