diff --git a/pkg/serverconfigs/protocol_base.go b/pkg/serverconfigs/protocol_base.go index 8c6d96f..37b6952 100644 --- a/pkg/serverconfigs/protocol_base.go +++ b/pkg/serverconfigs/protocol_base.go @@ -30,3 +30,22 @@ func (this *BaseProtocol) FullAddresses() []string { func (this *BaseProtocol) AddListen(addr ...*NetworkAddressConfig) { this.Listen = append(this.Listen, addr...) } + +// AllPorts 获取所有端口号 +func (this *BaseProtocol) AllPorts() []int { + var ports = []int{} + var portMap = map[int]bool{} + for _, listen := range this.Listen { + if listen.MinPort > 0 && listen.MaxPort > 0 { + for port := listen.MinPort; port <= listen.MaxPort; port++ { + _, ok := portMap[port] + if ok { + continue + } + ports = append(ports, port) + portMap[port] = true + } + } + } + return ports +} diff --git a/pkg/serverconfigs/protocol_http_config.go b/pkg/serverconfigs/protocol_http_config.go index ccd1770..6fbe680 100644 --- a/pkg/serverconfigs/protocol_http_config.go +++ b/pkg/serverconfigs/protocol_http_config.go @@ -26,7 +26,7 @@ func (this *HTTPProtocolConfig) Init() error { return nil } -// 转换为JSON +// AsJSON 转换为JSON func (this *HTTPProtocolConfig) AsJSON() ([]byte, error) { return json.Marshal(this) }