如何使用NodeJS从客户端获取套接字的头请求

时间:2014-12-31 20:21:43

标签: node.js sockets

我对这件事很新。我只是想知道是否有可能获得Web套接字客户端请求标头。 我在服务器端使用node.js:

  • 使用ExpresJS我可以获得如下标题:

    router.post('/', function (req, res, next) {
        console.log(req.headers);
    

    });

  • 使用Web Socket,可能吗?

    var WebSocket = require('ws');
    var ws = new WebSocket('ws://www.host.com/path');
    ws.on('open', function open() {
         // how to get the headers
         ws.send('something');
    });
    

有可能吗? 感谢

1 个答案:

答案 0 :(得分:4)

WebSockets没有标题,但是它们的升级请求有。

var WebSocketServer = require('ws').Server
  , wss = new WebSocketServer({ port: 8080 });

wss.on('connection', function connection(ws) {

  console.log(ws.upgradeReq.headers);

  ws.on('message', function incoming(message) {
    console.log('received: %s', message);
  });

  ws.send('something');
});

请注意,您无法将标头设置为ws请求的一部分。