diff --git a/server.go b/server.go index 02cc795a..836a0765 100644 --- a/server.go +++ b/server.go @@ -8,7 +8,7 @@ import ( // Server is a RTSP server. type Server struct { conf ServerConf - listener *net.TCPListener + listener net.Listener } // Close closes the server. diff --git a/serverconf.go b/serverconf.go index e21cb5c0..fc7d06b5 100644 --- a/serverconf.go +++ b/serverconf.go @@ -31,8 +31,8 @@ type ServerConf struct { ReadBufferCount int // function used to initialize the TCP listener. - // It defaults to net.ListenTCP. - ListenTCP func(network string, address *net.TCPAddr) (*net.TCPListener, error) + // It defaults to net.Listen + Listen func(network string, address string) (net.Listener, error) } // Serve starts a server on the given address. @@ -46,16 +46,11 @@ func (c ServerConf) Serve(address string) (*Server, error) { if c.ReadBufferCount == 0 { c.ReadBufferCount = 1 } - if c.ListenTCP == nil { - c.ListenTCP = net.ListenTCP + if c.Listen == nil { + c.Listen = net.Listen } - addr, err := net.ResolveTCPAddr("tcp", address) - if err != nil { - return nil, err - } - - listener, err := c.ListenTCP("tcp", addr) + listener, err := c.Listen("tcp", address) if err != nil { return nil, err } diff --git a/serverconf_test.go b/serverconf_test.go index 2ef2097a..61db26d3 100644 --- a/serverconf_test.go +++ b/serverconf_test.go @@ -214,7 +214,7 @@ func TestServerPublishReadTCP(t *testing.T) { require.Equal(t, 0, cnt2.wait()) } -func TestServerTeardown(t *testing.T) { +func TestServerTeardownResponse(t *testing.T) { ts, err := newTestServ() require.NoError(t, err) defer ts.close()