Skip to content

【建议】修改 IsServer 函数逻辑,以适应监听指定地址的情况 #4

@LTP414

Description

@LTP414

原因

当前命令行下,-c 参数既可以指定为连接的节点的地址,也可以指定为监听的地址。
两个行为唯一的判断方法就是:

func (c *Console) IsServer() bool {
	return c.ConsoleURL.Hostname() == "0.0.0.0"
}

检测参数中的 host 是否为 0.0.0.0...
即使指定了 -i 为指定的IP地址,rem 依然会监听 0.0.0.0,无法监听指定地址

Image

可能的修改方法

如果可以,添加一个参数 --is-server,应该就可以直接解决这个问题了吧(

// runner/options.go (41)
type MainOptions struct {
	...
	IsServer    bool     `long:"is-server" description:"balabala"`
}
// runner/console.go (147-148)
func (c *Console) IsServer() bool {
	return c.Config.IsServer
}
// cmd/cmd/cmd.go (82-85)
	if len(option.ConsoleAddr) == 0 {
		option.ConsoleAddr = []string{runner.DefaultConsole}
		option.IsServer = true
	}

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions