WS websocket send()作为一个函数
我有这个问题。 我连接到另一个服务器的socket.io(工程),我想通过WS发送到客户端(处理)。 主要的问题是它只发送一次,我想发送所有的socket.io得到一个input。
实际代码:
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客户端。