diff --git a/src/recipient/recipient.go b/src/recipient/recipient.go index 8e70fec..1e1fbdc 100644 --- a/src/recipient/recipient.go +++ b/src/recipient/recipient.go @@ -3,7 +3,6 @@ package recipient import ( "bytes" "encoding/json" - "errors" "fmt" "io/ioutil" "net" @@ -14,6 +13,7 @@ import ( "time" humanize "github.com/dustin/go-humanize" + "github.com/pkg/errors" log "github.com/cihub/seelog" "github.com/gorilla/websocket" @@ -407,10 +407,15 @@ func receive(forceSend int, serverAddress string, tcpPorts []string, isLocal boo func connectToTCPServer(room string, address string) (com *comm.Comm, err error) { log.Debugf("recipient connecting to %s", address) - connection, err := net.Dial("tcp", address) + rAddr, err := net.ResolveTCPAddr("tcp", address) if err != nil { return } + connection, err := net.DialTCP("tcp", nil, rAddr) + if err != nil { + err = errors.Wrap(err, "bad connection to tcp") + return + } connection.SetReadDeadline(time.Now().Add(3 * time.Hour)) connection.SetDeadline(time.Now().Add(3 * time.Hour)) connection.SetWriteDeadline(time.Now().Add(3 * time.Hour)) diff --git a/src/sender/sender.go b/src/sender/sender.go index 0975118..9e1f52e 100644 --- a/src/sender/sender.go +++ b/src/sender/sender.go @@ -408,10 +408,15 @@ func send(forceSend int, serverAddress string, tcpPorts []string, isLocal bool, } func connectToTCPServer(room string, address string) (com *comm.Comm, err error) { - connection, err := net.Dial("tcp", address) + rAddr, err := net.ResolveTCPAddr("tcp", address) if err != nil { return } + connection, err := net.DialTCP("tcp", nil, rAddr) + if err != nil { + err = errors.Wrap(err, "bad connection to tcp") + return + } connection.SetReadDeadline(time.Now().Add(3 * time.Hour)) connection.SetDeadline(time.Now().Add(3 * time.Hour)) connection.SetWriteDeadline(time.Now().Add(3 * time.Hour)) diff --git a/src/tcp/tcp.go b/src/tcp/tcp.go index 6d20704..2afe2e2 100644 --- a/src/tcp/tcp.go +++ b/src/tcp/tcp.go @@ -42,7 +42,7 @@ func Run(debugLevel, port string) { func run(port string) (err error) { log.Debugf("starting TCP server on " + port) - rAddr, err := net.ResolveTCPAddr("tcp", "localhost:"+port) + rAddr, err := net.ResolveTCPAddr("tcp", "0.0.0.0:"+port) if err != nil { panic(err) }