Personally, I would write a program using MinGW (POSIX) C/C++ but that's just me. Visual C++ threading links:
Microsoft MFC
Stack Overflow - MFC Simple Example
Some other tutorial
Now, if you're going to do this on your ODROID, the story is different because it runs Linux so you have to use the POSIX Standard for threading. Also, wouldn't you have to port your OpenCV program to Linux if you used VC++? I don't know how different it is...
Here are some useful tutorials on network programming and concurrency in a POSIX environment:
YoLinux: POSIX Threads
Sockets in Linux
Linux Magazine - Linux Socket Programming
YoLinux - Sockets
Also, I would use UDP for something like a camera feed because if you use TCP and you drop a few packets, you will get old information because TCP guarantees delivery of all packets. Therefore, the packets you drop will come back and your camera feed will be off. Depending on the amount of data lost, your latency could be significant so I recommend UDP to take care of that problem. If you want to look at some vision code my team wrote last year, you can check out the
project home page on our Github page. We used both C networking and POSIX threads.
Good luck!
Alex Brinister