概述
思考心跳的 15s 的逻辑是在哪里处理的?如果是我自己来写这段代码,我会写在创建连接的时候。按照这个思路向下找,就可以发现下面的代码:
func (ln *TCPListener) accept() (*TCPConn, error) {
fd, err := ln.fd.accept()
if err != nil {
return nil, err
}
tc := newTCPConn(fd)
if ln.lc.KeepAlive >= 0 {
setKeepAlive(fd, true)
ka := ln.lc.KeepAlive
if ln.lc.KeepAlive == 0 {
ka = defaultTCPKeepAlive
}
setKeepAlivePeriod(fd, ka)
}
return tc, nil
}
这里的 defaultTCPKeepAlive 默认时间是 15s
// defaultTCPKeepAlive is a default constant value for TCPKeepAlive times
// See golang.org/issue/31510
const (
defaultTCPKeepAlive = 15 * time.Second
)
最后
以上就是火星上热狗为你收集整理的KeepAlive15秒心跳设置的全部内容,希望文章能够帮你解决KeepAlive15秒心跳设置所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复