Sockets are a general purpose, connection-oriented networking interface supported by most operating systems. The Windows implementation of sockets, commonly called Winsock, is designed to run efficiently on Windows while maintaining compatibility with the Berkeley Software Distribution standard, known as Berkeley Sockets. The Winsock API is the only way for an application to access the TCP/IP or IrDA protocols on a Windows CE-based device. High-level APIs, such as WinINET, use Winsock internally, but it can also be used directly.
Windows CE supports all of the standard Winsock 1.1 calls. It also implements WSAIoctl, which is provided to allow applications to set and query secure socket options.
Each socket that is created has an associated SOCKADDR structure that identifies the underlying transport protocol. Because the length of a network address is protocol-dependent, each supported protocol has its own SOCKADDR structure. The Windows CE implementation of Winsock supports two transport protocols, TCP/IP and IrDA. Their associated SOCKADDR structures are SOCKADDR_IN for TCP/IP protocol and SOCKADDR_IRDA for IrDA protocol.
For more information on Winsock, see the documentation for the Microsoft Platform SDK.