转到网络拨号问题

I'm having some issues connecting to a local golang TLS server via tls.dial or net.dial. The server ist started with the address localhost:10001 and I am able to connect to it with netcat (simply netcat localhost 10001 ) but trying it with golangs's dial method doesn't work (connection refused). What could be the reason for this? One important thing to point out is that I'm testing it on a Debian VM where I deinstalled the network manager so I could configure the network interfaces myself (static ip). My guess is that net.dial has some issues finding the right interface but what does netcat do that golang's methods don't? I tried all different kinds of addresses on both sides (server on localhost, ::1, 127.0.0.1; client same). On my windows host system it works (so the issue is probably not with the server). Thanks in advance.

    conn, err := tls.Dial("tcp", h.IP+":"+h.Port, conf)
if err != nil {
    log.Println(err)
    return empty
}

// do cleanup
defer conn.Close()

d := Craft_PKG( data )


//write package
WriteChunks( conn, d )

this is the client code and this

    ln, err := tls.Listen("tcp", "localhost:"+(*port), config)
if err != nil {
    log.Println(err)
    return err
}
defer ln.Close()

for {
    conn, err := ln.Accept()
    if err != nil {
        log.Println(err)
        continue
    }
    // start the handler for every incoming connection
    go h(conn)
}

the server code. It is all very straightforward and works with netcat and in my Host system as I mentioned.