gpt4 book ai didi

node.js - WS websocket send() 作为函数

转载 作者:太空宇宙 更新时间:2023-11-04 01:07:51 26 4
gpt4 key购买 nike

我在这方面遇到了一些问题。我正在使用 socket.io (有效)连接到另一台服务器,我想通过 WS 发送到客户端(处理)。主要问题是它只发送一次,我想在 socket.io 收到输入时一直发送。

实际代码:

var io = require("socket.io-client");
var socket = io.connect('http://socket.io.server:8000');
var WebSocketServer = require('ws').Server
, wss = new WebSocketServer({port: 8080});

var temp = 0;

socket.on('connect', function () {
console.log("socket connected") ;
});

socket.on('udp message', function(msg) {
temp = msg/100;
console.log(temp) ;
wss.on('connection', function(ws) {
ws.send(temp.toString());
});
});

我想要什么:

socket.on('udp message', function(msg) { 
temp = msg/100;
console.log(temp) ;
ws.send(temp.toString());

});


wss.on('connection', function(ws) {
console.log("Connected to client")
});

这样我就可以在我的 WS 客户端中获得实时数据。

最佳答案

如果您只需处理一个 WebSocket 客户端,您可以这样做:

var ws = null;
socket.on('udp message', function(msg) {
var temp = msg/100;
console.log(temp);
// make sure we have a connection
if (ws !== null) {
ws.send(temp.toString());
}
});

wss.on('connection', function(_ws) {
console.log("Connected to client");
ws = _ws;
});

如果您有多个 WebSocket 客户端,则需要将它们的 _ws 存储在一个数组中,并通过每个传入的 udp message 事件将其发送到存储在该数组中的每个 WebSocket 客户端数组。

关于node.js - WS websocket send() 作为函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21282988/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com