Ho bisogno di bilanciare websocket a livello di applicazione. Diciamo di inoltrare la richiesta di websocket sulla base del messaggio che ho ricevuto, decodificarlo su proxy e quindi usare quel dato per inviarlo a un altro server socket usando un po 'di logica.Nodo Http Proxy Web Socket Balance
Ma non sono in grado di farlo. Questo è il codice iniziale che ho scritto e sto cercando di farlo. Questo è il server
var http = require('http');
var httpProxy = require('http-proxy');
var WebSocket = require('ws');
var WebSocketServer = require('ws').Server;
var wss = new WebSocketServer({ port: 8080 });
wss.on('connection', function connection(ws) {
ws.on('message', function incoming(message) {
console.log('received: %s', message);
});
ws.send('something');
});
var proxy = httpProxy.createServer({target: 'ws://localhost:8080', ws:true});
var server = httpProxy.createServer(function(req, res) {
//SOME LOGIC HERE TO PARSE WS DATA AND SEND TO WS SERVER
proxy.ws(req, res, { target: 'ws://localhost:8080'});
}).listen(8014);
CLIENTE
var http = require('http');
var httpProxy = require('http-proxy');
var WebSocket = require('ws');
var ws = new WebSocket('ws://localhost:8014/');
ws.on('open', function() {
ws.send("CLIENT");
});
ws.on('message', function (msg) {
console.log(msg);
});
possibile [duplicato] (http://stackoverflow.com/questions/21629752/using-node-http-proxy-to-proxy-websocket-connections)? Potrebbe aiutarti –
@NiCkNewman Posso proxy bene, ma ho bisogno di bilanciare sulla base dei dati ricevuti senza effettivamente rompere la connessione socket. –