CNode

如何从代码判断不同的多个请求,是同一个长连接,还是多个短连接

问答
Yyakczh发布于5 年前最后回复5 年前3 回复2909 浏览0 收藏

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

查看回复

回复 (3)

T
theanarkh#1·5 年前

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

P
pazh123qq#2·5 年前

评论+1

P
pazh123qq#3·5 年前
引用 pazh123qq评论+1

@pazh123qq 评论+2

参与回复
登录后即可参与回复。登录