即使在初始握手后,套接字IO连接是否仍在发送标头?

时间:2019-03-28 20:20:36

标签: node.js sockets websocket socket.io

WebSockets和Socket.io的新手,但是请读到Websocket比HTTP请求快得多的一个原因是因为Once established, a websocket connection does not have to send headers with its messages,因此每次数据传输的开销都较小。因此,在Node.js服务器上的socket.io中,我尝试过:

...

io.on('connection', (socket) => {
    console.log('initial', socket.id, socket.handshake.headers.cookie);

    socket.on('test', async (resHandler) => {
        console.log("socket test", socket.handshake.headers.cookie);

        let result = await dbFun.test(pool);
        console.log(result);
        resHandler(result);
    });
})

...

在客户端上,我与此套接字/服务器建立了连接,并发出了“测试”事件。我原本希望在“初始”日志中看到套接字cookie标头,但是当发出“ test”事件时,也惊讶地看到它也出现在“套接字测试”日志中。这是否意味着在客户端套接字发出“测试”事件时,即使在初始握手和套接字连接建立之后,套接字仍包含带有后续事件的头数据?如果是这样,这与HTTP请求(在每个请求中都包含标头)有什么不同/更快?

0 个答案:

没有答案
相关问题