From 5a357a6fc5e85268b929350aa6423e2d56dcc4ff Mon Sep 17 00:00:00 2001 From: Robert Gordon Date: Fri, 17 Apr 2015 17:14:19 -0500 Subject: [PATCH] Expose the udp/tcp listening socket w/ ListenAndServe() Expose the udp and tcp listening socket when ListenAndServe() is used, it seems like plopping them on Server.Listener and Server.PacketConn would be ideal. The use case is so that a port of zero can be used and having them exposed will allow for examination of the port that is bound. --- server.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/server.go b/server.go index 73f50054..5e4ec92b 100644 --- a/server.go +++ b/server.go @@ -264,6 +264,7 @@ func (srv *Server) ListenAndServe() error { if e != nil { return e } + srv.Listener = l return srv.serveTCP(l) case "udp", "udp4", "udp6": a, e := net.ResolveUDPAddr(srv.Net, addr) @@ -277,6 +278,7 @@ func (srv *Server) ListenAndServe() error { if e := setUDPSocketOptions(l); e != nil { return e } + srv.PacketConn = l return srv.serveUDP(l) } return &Error{err: "bad network"}