mirror of
https://gitee.com/IrisVega/frp.git
synced 2024-11-01 22:31:29 +08:00
(1)新增心跳检测发送间隔和超时时间的配置
This commit is contained in:
parent
5d6f37aa82
commit
04c26d1c31
@ -11,16 +11,16 @@ import (
|
||||
|
||||
// common config
|
||||
var (
|
||||
ServerAddr string = "0.0.0.0"
|
||||
ServerPort int64 = 7000
|
||||
LogFile string = "./frpc.log"
|
||||
LogLevel string = "warn"
|
||||
LogWay string = "file"
|
||||
ServerAddr string = "0.0.0.0"
|
||||
ServerPort int64 = 7000
|
||||
LogFile string = "./frpc.log"
|
||||
LogLevel string = "warn"
|
||||
LogWay string = "file"
|
||||
HeartBeatInterval int64 = 5
|
||||
)
|
||||
|
||||
var ProxyClients map[string]*models.ProxyClient = make(map[string]*models.ProxyClient)
|
||||
|
||||
|
||||
func LoadConf(confFile string) (err error) {
|
||||
var tmpStr string
|
||||
var ok bool
|
||||
@ -56,6 +56,11 @@ func LoadConf(confFile string) (err error) {
|
||||
LogWay = tmpStr
|
||||
}
|
||||
|
||||
tmpStr, ok = conf.Get("common", "heartbeat_interval")
|
||||
if ok {
|
||||
HeartBeatInterval, _ = strconv.ParseInt(tmpStr, 10, 64)
|
||||
}
|
||||
|
||||
// servers
|
||||
for name, section := range conf {
|
||||
if name != "common" {
|
||||
|
@ -11,10 +11,6 @@ import (
|
||||
"frp/pkg/utils/log"
|
||||
)
|
||||
|
||||
const (
|
||||
heartbeatDuration = 2 //心跳检测时间间隔,单位秒
|
||||
)
|
||||
|
||||
var isHeartBeatContinue bool = true
|
||||
|
||||
func ControlProcess(cli *models.ProxyClient, wait *sync.WaitGroup) {
|
||||
@ -114,7 +110,7 @@ func loginToServer(cli *models.ProxyClient) (connection *conn.Conn) {
|
||||
func startHeartBeat(con *conn.Conn) {
|
||||
isHeartBeatContinue = true
|
||||
for {
|
||||
time.Sleep(heartbeatDuration * time.Second)
|
||||
time.Sleep(time.Duration(HeartBeatInterval) * time.Second)
|
||||
if isHeartBeatContinue { // 把isHeartBeatContinue放在这里是为了防止SIGPIPE
|
||||
err := con.Write("\r\n")
|
||||
//log.Debug("send heart beat to server!")
|
||||
|
@ -11,16 +11,16 @@ import (
|
||||
|
||||
// common config
|
||||
var (
|
||||
BindAddr string = "0.0.0.0"
|
||||
BindPort int64 = 9527
|
||||
LogFile string = "./frps.log"
|
||||
LogLevel string = "warn"
|
||||
LogWay string = "file"
|
||||
BindAddr string = "0.0.0.0"
|
||||
BindPort int64 = 9527
|
||||
LogFile string = "./frps.log"
|
||||
LogLevel string = "warn"
|
||||
LogWay string = "file"
|
||||
HeartBeatTimeout int64 = 30
|
||||
)
|
||||
|
||||
var ProxyServers map[string]*models.ProxyServer = make(map[string]*models.ProxyServer)
|
||||
|
||||
|
||||
func LoadConf(confFile string) (err error) {
|
||||
var tmpStr string
|
||||
var ok bool
|
||||
|
@ -151,7 +151,7 @@ func readControlMsgFromClient(server *models.ProxyServer, c *conn.Conn) {
|
||||
isContinueRead = false
|
||||
server.StopWaitUserConn()
|
||||
}
|
||||
timer := time.AfterFunc(10*time.Second, f)
|
||||
timer := time.AfterFunc(time.Duration(HeartBeatTimeout)*time.Second, f)
|
||||
defer timer.Stop()
|
||||
|
||||
for isContinueRead {
|
||||
@ -169,7 +169,7 @@ func readControlMsgFromClient(server *models.ProxyServer, c *conn.Conn) {
|
||||
|
||||
if content == "\r\n" {
|
||||
log.Debug("receive hearbeat:%s", content)
|
||||
timer.Reset(10 * time.Second)
|
||||
timer.Reset(time.Duration(HeartBeatTimeout) * time.Second)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,9 @@ log_file = ./frpc.log
|
||||
# debug, info, warn, error
|
||||
log_level = info
|
||||
# file, console
|
||||
log_way = file
|
||||
log_way = console
|
||||
# 心跳检测时间间隔,单位秒,默认为2
|
||||
heartbeat_interval = 2
|
||||
|
||||
# test1即为name
|
||||
[test1]
|
||||
|
@ -6,7 +6,9 @@ log_file = ./frps.log
|
||||
# debug, info, warn, error
|
||||
log_level = info
|
||||
# file, console
|
||||
log_way = file
|
||||
log_way = console
|
||||
# 心跳检测超时时间,单位秒,默认为30
|
||||
heartbeat_timeout = 30
|
||||
|
||||
# test1即为name
|
||||
[test1]
|
||||
|
Loading…
Reference in New Issue
Block a user