Networking
This section provides comprehensive documentation for the Windows networking APIs, enabling developers to build robust and efficient network-aware applications.
Core Networking APIs
Explore the fundamental APIs for network communication on Windows.
Winsock (Windows Sockets API)
Winsock provides a standard C-style API for network programming, compatible with Berkeley sockets.
socket(): Create a socket.bind(): Assign a local address to a socket.connect(): Establish a connection to a remote socket.send()/recv(): Send and receive data.listen()/accept(): Handle incoming connections for server sockets.
WSASocket
A more flexible and extensible version of the socket() function.
WSASocket(): Create a socket with extended options.
I/O Completion Ports (IOCP)
An asynchronous, high-performance I/O model for scalable network applications.
Higher-Level Networking Frameworks
Leverage Windows' built-in frameworks for simpler and more efficient network development.
HTTP Client APIs
APIs for making HTTP requests and handling responses.
- WinHTTP: For server-side or advanced client-side HTTP communication.
- InternetOpen() (WinInet): For simpler client-side HTTP/FTP operations, often used in browsers.
WebSockets
APIs for establishing full-duplex communication channels over a single TCP connection.
- WebSocket API (UWP/WinRT)
- Libraries like Microsoft.Owin.Host.SystemWeb for ASP.NET applications.
Network List Manager
APIs to enumerate and manage network connections, adapters, and connectivity status.
Network Protocols and Services
Information on working with various network protocols.
TCP/IP
The foundational protocol suite for most internet communication.
- See Winsock documentation for detailed TCP/IP socket programming.
UDP
Connectionless datagram protocol.
- Create UDP sockets using
SOCK_DGRAM.
DNS (Domain Name System)
APIs for name resolution.
Security and Network Access
APIs related to network security and access control.
TLS/SSL (Transport Layer Security/Secure Sockets Layer)
APIs for securing network communication.
- Schannel: Windows' cryptographic interface for TLS/SSL.
CreateThreadpoolIo()(for asynchronous operations)
Network Policies
APIs for configuring and managing network access policies.