Socket programming is simply programming for network (or serial) communications at a lower level. In the Microsoft .Net languages, sockets are "Objects" that have methods & properties dealing with protocol, send/rec, etc... Since communication is usually asynchronous, most socket programs are multithreaded so the program does not stall while waiting for traffic on a given port. For more info and demo programs, go to www.codeproject.com and enter the search term "socket".