Это сильно отредактированный пост.
Я работаю над настройкой клиент / сервер, чтобы попрактиковаться в golang, где я использую gocv, чтобы получить изображение с моей веб-камеры и обработать его на удаленном сервере, снова используя gocv. Оба процесса написаны на Go. Каков наилучший способ передачи мата процессу сервера?
Я уже пытался использовать gob следующим образом:
func svr(){
ln, _ := net.Listen("tcp", ":8090")
conn, _ := ln.Accept()
dec := gob.NewDecoder(conn)
var p gocv.Mat
dec.Decode(&p)
gocv.IMWrite("copy.jpg", p)
conn.Close()
}
func clnt(){
time.Sleep(19999)
conn, _ := net.Dial("tcp", "localhost:8090")
encoder := gob.NewEncoder(conn)
var chip gocv.Mat
chip = gocv.IMRead("test.jpg", 0)
encoder.Encode(chip)
}
func main(){
go svr()
clnt()
time.Sleep(10000)
}
Программа не возвращает никаких ошибок, но и не создает файл. Я не уверен, что здесь не так. Что я делаю не так?