如何从代码判断不同的多个请求,是同一个长连接,还是多个短连接
发布于 4 年前 作者 yakczh 2206 次浏览 来自 问答

从网络层嗅探工具比如tcpdump 可以看到如果不同的连接 会经历syn/syn+ack/ack 但是如果只是在应用层写代码,怎么判断呢

3 回复

这个问题有点意思,这个可能要看keepalive的实现,nodejs的话,目前想到的一个方式是,因为keepalive情况下是同一个socket,每次收到请求的时候,打标记,比如req.socket.keepaliveFlag等于true。那么每次收到请求的时候,判断标记,true就说明是长连接。但是对于第一个请求,这个方式不行,可以使用rsp.shouKeepalive这个字段。这个字段标记一个请求是否设置了keepalive头。

回到顶部