现在已注册的节点会检查并更新 host;修复一个导致断开的连接没有正常退出的问题

This commit is contained in:
2025-05-27 18:53:01 +08:00
parent 48dba2c0c3
commit 36013d7d04
7 changed files with 53 additions and 27 deletions

View File

@@ -79,7 +79,6 @@ func ctrl(ctx context.Context, id int32, host string) error {
var reader = bufio.NewReader(conn)
// 发送开启连接
slog.Debug("发送节点连接命令")
err = sendOpen(conn, id)
if err != nil {
return fmt.Errorf("发送节点信息失败: %w", err)
@@ -108,7 +107,7 @@ func ctrl(ctx context.Context, id int32, host string) error {
for {
// 读取命令
cmd, err := reader.ReadByte()
if err := utils.WarpConnErr(err); err != nil {
if ok, err := utils.WarpConnErr(err); !ok {
errCh <- err
return
}

8
edge/env/env.go vendored
View File

@@ -9,13 +9,13 @@ import (
var Mode = "dev"
var Name = "dev-edge"
var EndpointOnline = "https://api.lanhuip.com/api/edge/assign"
var EndpointAssign = "https://api.lanhuip.com/api/edge/assign"
func Init() error {
var env = flag.String("e", "dev", "环境变量,可选值 dev 或 prod")
var name = flag.String("n", "", "节点唯一标识")
var online = flag.String("online", "", "服务发现地址")
var assign = flag.String("assign", "", "服务发现地址")
flag.Parse()
@@ -33,8 +33,8 @@ func Init() error {
return errors.New("节点唯一标识不能为空")
}
if online != nil && *online != "" {
EndpointOnline = *online
if assign != nil && *assign != "" {
EndpointAssign = *assign
}
if Mode == "dev" {

View File

@@ -21,7 +21,7 @@ func Online() (id int32, host string, err error) {
}
var body = strings.NewReader(string(bytes))
resp, err := http.Post(env.EndpointOnline, "application/json", body)
resp, err := http.Post(env.EndpointAssign, "application/json", body)
if err != nil {
return 0, "", fmt.Errorf("执行请求失败: %w", err)
}