func handleNav(f *godrone.Firmware, addr *net.TCPAddr) { log.Println("Remote ", addr.String()) remoteAddr := &net.TCPAddr{addr.IP, 7777, ""} conn, err := net.DialTCP("tcp", nil, remoteAddr) log.Println("Dialed") if err != nil { log.Println(err) return } encoder := gob.NewEncoder(conn) for { f.Observe() encoder.Encode(f.Actual) //time.Sleep(time.Millisecond * 1000) } }