HTTP represents a high-level protocol for communicating over TCP/IP networks, whereas socket programming is at a much lower level. In fact, HTTP itself uses sockets to communicate. Wherever feasible, you should use a high-level protocol such as HTTP or File Transfer Protocol (FTP), but there are times when socket programming is necessary. Examples include the following:
When communicating using infrared ports to other Windows CE devices, desktop operating systems such as Windows 98 and 2000, and digital cameras.
When communicating with a server application where HTTP does not suffice. Note that you may need to write a multithreaded server application to handle requests from multiple Windows CE devices.
ActiveSync versions 3.0 ...