TCPServer
func TCPServer(listener net.Listener, handler TCPHandler, logf lg.AppLogFunc) error {
//listener是在nsqd New的时候创建的
logf(lg.INFO, "TCP: listening on %s", listener.Addr())
var wg sync.WaitGroup
for {
clientConn, err := listener.Accept()
if err != nil {
if nerr, ok := err.(net.Error); ok && nerr.Temporary() {
//判断是瞬时错误
logf(lg.WARN, "temporary Accept() failure - %s", err)
runtime.Gosched(