master, filer, s3: also listen to "localhost" in addition to specific ip address

related to https://github.com/chrislusf/seaweedfs/issues/1937
This commit is contained in:
chrislu
2022-03-15 22:28:18 -07:00
parent fbc9f0eb64
commit 3639cad69c
8 changed files with 99 additions and 17 deletions

View File

@@ -82,16 +82,45 @@ func (c *Conn) Close() error {
return err
}
func NewListener(addr string, timeout time.Duration) (net.Listener, error) {
l, err := net.Listen("tcp", addr)
func NewListener(addr string, timeout time.Duration) (ipListner net.Listener, err error) {
listner, err := net.Listen("tcp", addr)
if err != nil {
return nil, err
return
}
tl := &Listener{
Listener: l,
ipListner = &Listener{
Listener: listner,
ReadTimeout: timeout,
WriteTimeout: timeout,
}
return tl, nil
return
}
func NewIpAndLocalListeners(host string, port int, timeout time.Duration) (ipListner net.Listener, localListener net.Listener, err error) {
listner, err := net.Listen("tcp", JoinHostPort(host, port))
if err != nil {
return
}
ipListner = &Listener{
Listener: listner,
ReadTimeout: timeout,
WriteTimeout: timeout,
}
if host != "localhost" && host != "" {
listner, err = net.Listen("tcp", JoinHostPort("localhost", port))
if err != nil {
return
}
localListener = &Listener{
Listener: listner,
ReadTimeout: timeout,
WriteTimeout: timeout,
}
}
return
}