I have an embedded device that is going to talk to a host program on a PC. Initially there will be one device but the design is for many (all being identical). My question is, what is the best way to interface this box(es) to the host application? I do not want to program sockets directly (oh yah, it's over TCP) but to use a modular design with some type of object. Is a DLL apropriate? A separate EXE? Something else?