2014-12-31 1 views
1

나는이 일에 아주 익숙하다. 웹 소켓 클라이언트 쪽 요청 헤더를 가져올 수 있는지 알고 싶었습니다. 내가 서버 측 Node.js를에 사용하고 있습니다 :NodeJS를 사용하여 소켓에 대해 클라이언트 측에서 헤더 요청을받을 수있는 방법

  • ExpresJS를 사용하여 내가 좋아하는 헤더를 얻을 수 있습니다 :

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

    });

  • 웹 소켓을 사용할 수 있습니까?

    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'); 
    }); 
    

그것은 가능하다? 감사합니다.

+0

웹 소켓에는 프로토콜 이외의 다른 헤더가 없으므로 그 점이 중요합니다. 추가 바이트가 없습니까? – adeneo

답변

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 요청의 일부로 헤더를 설정할 수 없습니다.

+0

감사합니다. 내가 찾던 답변입니다. –

+0

"새로운 WebSocket ('ws : //www.host.com/path')을 사용하여 websocket 서버에 연결할 때 업그레이드 요청에서 검색 할 수있는 헤더를 전달할 수 있습니까? – Luc

관련 문제