7
アプリケーションレベルでwebsocketのバランスをとる必要があります。私が受け取ったメッセージに基づいてWebsocketリクエストを転送し、プロキシでそれをデコードし、そのデータをいくつかのロジックを使って別のソケットサーバーに送信します。ノードHttpプロキシWebソケットバランス
しかし、私はこれを行うことができません。これが最初に書いたコードで、これをやろうとしています。これは、ここでは例のサーバー
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);
CLIENT
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);
});
可能[複製](http://stackoverflow.com/questions/21629752/using-node-http-proxy-to-proxy-websocket-connections)? –
@NiCkNewmanプロキシは正常に動作しますが、実際にソケット接続を切断せずに受信したデータに基づいてバランスをとる必要があります。 –