Совместное использование Websocket и http-сервера - PullRequest
0 голосов
/ 25 февраля 2020

Я использую вместе websocket и http-сервер, назначая каждому из них свой порт, когда при поступлении почтового запроса он отправляет сообщение клиенту, используя websocket, и ответ на запрос http отправляется, когда клиент отвечает на сообщение.

Моя проблема в том, что я хочу создать несколько веб-сокетов, но один https-сервер, я пробовал некоторые вещи, но не смог этого сделать.

Текущий код для создания веб-сокета и httpserver:

const app = require('express')()
bodyParser = require('body-parser')
app.use(bodyParser.json())
const net = require('net');
var client;
var res1,currentReq;

//----------------------------------------------------------------------------
// http requests listener
//----------------------------------------------------------------------------

app.listen(8001, () => console.log('Http server listening on port 8001'));

//----------------------------------------------------------------------------
// http requests handling
//----------------------------------------------------------------------------

app.post('/getUser', (req, res) => {
    console.log(req.body)
res1 = res;
currentReq='getUser';
    client.write('{"route":"/","data":{"username":"' + req.body.username +'"}, "res": "' + res + '"}');
//res.end('{"Extension":"' +' data '+ '"}');

console.log("/getUser finished");
   // res.end('{"Extension":"' +' data '+ '"}');

  });

//----------------------------------------------------------------------------
// Establishing tcp connection for incoming requests
//----------------------------------------------------------------------------

var server = net.createServer(function(connection) {
   console.log ('client has connected successfully!');
   client = connection;
   client.on('data',function(data){
   switch(currentReq) 
   {
       case 'getUser' :
                    console.log('send get user response');
                    res1.end(data);
                    break;

   }

    console.log(data.toString());
            //res1.end(data);

  });

   connection.pipe(connection);
});


//----------------------------------------------------------------------------
// listener for tcp connections
//----------------------------------------------------------------------------

server.listen(8000, function() {
   console.log('server for localhost is listening on port 8000');
   console.log('server bound address is: ' + server.address ());
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...