2014-01-22 3248 views
1

我遇到了一些问题。我正在使用socket.io(工作)连接到另一台服务器,我想通过WS发送到客户端(处理)。主要的问题是它只发送一次,我想发送socket.io所有的输入。WS websocket send()作为函数

实际代码:

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客户端有一个实时数据。

回答

1

如果只处理一个WebSocket的客户端,你可以这样做:如果你有多个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; 
}); 

,你需要他们的_ws存储在数组中,并与每个进入udp message事件,将其发送给存储在该阵列中的每个WebSocket客户端。

+0

它正常工作正常。谢谢!!! – user1343998

相关问题