View Single Post
  #6   Spotlight this post!  
Unread 02-03-2014, 21:15
AlexBrinister AlexBrinister is offline
Registered User
AKA: Alex Brinister
FRC #1768 (RoboChiefs)
Team Role: Alumni
 
Join Date: Jan 2013
Rookie Year: 2012
Location: Bolton, MA
Posts: 93
AlexBrinister will become famous soon enough
Re: Visual C++: Getting socket server to run parallel to other processes

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

Last edited by AlexBrinister : 02-03-2014 at 21:18. Reason: Port to ODROID?